проблема с onclick
Добавление к предыдущему посту. Создаем кнопку с помощью метода. Если метод без аргументов, то вызов выглядит примерно так
btn.onclick = sozdaemTriKnopki;где sozdaemTriKnopki - это метод, который создает метод(причем почему без (), мне не ясно). Но когда в методе есть аргументы, например btn.onclick = sozdaemTriKnopki(arg)то выполнятся этот метод будет сразу при загрузке, а не при нажатии на кнопку. Как сделать, чтобы при нажатии? |
Вопрос снимается. Если кому интересно, то нужно сделать так
btn.onclick = function() {sozdaemTriKnopki(arg);};
|
Еще можно так:
<!DOCTYPE HTML>
<html>
<head><meta charset="windows-1251" /> </head>
<body>
<button>foo</button>
<script>
mkButton=function(innerHTML){
var button=document.createElement("button")
button.innerHTML=innerHTML
document.body.appendChild(button)
}
mkThreeButtons=function(innerHTML){
return function(){
mkButton(innerHTML)
mkButton(innerHTML)
mkButton(innerHTML)
}
}
document.querySelector("button").onclick=mkThreeButtons("foo")
</script>
</body>
</html>
|
Цитата:
var some_var = sozdaemTriKnopki(arg); проперь .onclick - обычная переменная в объекте. Туда все и запишется сразу. Цитата:
Или да, присваивают безымянную функцию переменной, срав ни var some_var = function(arg){}; |
Цитата:
|
| Часовой пояс GMT +3, время: 07:35. |