Перехват события onclick
Привет, братцы! Хочу вызывать метод при нажатии на кнопку.
Кнопка такая: <input name="кнопа" type="button" value="Пыщ" /> Пробовал запиливать в таком духе: window.onload = function () { var экземпляр=new конструктор(); var тема=document.getElementsByName("кнопа")[0]; тема.addEventListener ("click", экземпляр.метод(), true); // или в таком: document.getElementsByName("кнопа")[0].onclick=экземпляр.метод(); } Но всё это срабатывало уже при загрузке страницы. Тогда пробовал вешать onclick на кнопку: <input name="кнопа" type="button" value="Пыщ" onclick="экземпляр.метод();"/> Всё тлен и не робит. А как следует эти вещи делать? |
Цитата:
|
Цитата:
экземпляр.метод() ? |
Цитата:
Это, видимо, экземпляр |
maternik,
а если убрать () ? экземпляр.метод() |
Цитата:
|
Убрал карочи window.onload = function () {}
оставил голимый var экземпляр=new конструктор(); низнаю почему, но заработало как я люблю js! =) UPD: наверное, экземпляр объекта должен быть создан раньше, чем броузер обнаружит вызов метода этого объекта, даже если мы его не вызываем |
Ну так onload срабатывает когда вообще всё прогрузится, включая графику. Естественно до этого при нажатии на кнопку запускается неизвестно что.
Цитата:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <body> <input type="button" value="test" onclick="obj.method()"> <script> function Test() { this.name = 'test'; this.method = function() { alert(this.name); } } var obj = new Test(); </script> </body> </html> |
Часовой пояс GMT +3, время: 23:05. |