проблема с 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, время: 01:16. |