Как привязать какую-то функцию к несуществующему элементу?

StackOverflow https://stackoverflow.com/questions/1602133

  •  05-07-2019
  •  | 
  •  

Вопрос

Моя проблема: после загрузки какого-либо элемента через ajax я связываю некоторую функцию нажатия, но когда пользователь несколько раз загрузит этот же элемент, связанное действие будет повторяться (не заменять, по крайней мере, так, как это выглядит). Я пытался unbind или click(function(){return false;});, но это полностью удаляет действие click из элемента ...). Каково стандартное решение такой проблемы?

Это было полезно?

Решение

Для большинства мероприятий вы можете использовать live() (jQuery 1.3 +):

$("td").live("click", function() {
  // do stuff
});

Это связывает событие click с <td> элементами, которые появляются после того, как вы запустите этот код.

Это гораздо более чистое решение, чем попытка связать / открепить и убедиться, что одно и то же событие не привязано дважды к определенному элементу.

Другие советы

если вы используете jQuery 1.3.2, вы можете использовать $('').live('click', function() {});, чтобы любые элементы, соответствующие этому селектору, имели действие. Это держит событие даже с новыми элементами.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top