Как привязать какую-то функцию к несуществующему элементу? - PullRequest
3 голосов
/ 21 октября 2009

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

Ответы [ 2 ]

6 голосов
/ 21 октября 2009

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

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

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

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

1 голос
/ 21 октября 2009

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

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