Как добавить обработчик onclick для динамического элемента? - PullRequest
1 голос
/ 16 июня 2010

Вот важная часть моего кода JS:

function createClose() {
  var cButton = document.createElement("img");
  cButton.src = "close.gif";
  cButton.style.cursor = "pointer";
  cButton.onclick = closeWindow;

  document.getElementById("my_window").appendChild(cButton);
}

function closeWindow() {
  document.getElementById("my_window").style.display = "none";
}

Изображение создается и добавляется, но при нажатии на него не вызывается событие onClick. Я также пытался использовать анонимную функцию, но это тоже не сработало.

Нет, я не собираюсь использовать jQuery (хотя я верю, что это проще).

Ответы [ 2 ]

3 голосов
/ 16 июня 2010
input.setAttribute('onclick','handleClick();');
2 голосов
/ 16 июня 2010
input = document.getElementById("my_window").appendChild(cButton);
input.onclick = function() { yourFunction(); };

Этот вопрос является почти дубликатом " Добавить свойство onclick для ввода с помощью JavaScript " В качестве альтернативы я также видел использование input.setAttribute('onclick', 'yourFunction();');, но не могу гарантировать, что он работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...