Перехват события 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, время: 05:48. |