2009-07-13 2 views

ответ

7

Вы можете связывать события с элементами, которые еще не существуют, используя .on(); но кроме этого, я не думаю, что у вас есть много решений.

Что вы пытаетесь сделать точно?

$(document).on("click", "#futureID", function(){ 
    /* whenever <a id='futureID'>Hello</a> is created, 
    it will have this functionality */ 
}); 

/* Sometime in the future, you add the link */ 
$("body").append("<a href='index.php' id='futureID'>Hello</a>"); 

Эта ссылка имела бы вышеупомянутую функциональность, уже подключенную.

+0

Вы можете использовать Event Delegation в зависимости от вашей структуры HTML. – SolutionYogi

+1

'live()' устарел сейчас. Используйте 'on()'. См. Этот ответ: http://stackoverflow.com/a/8191450/1738090 – w3bshark

1

Если вы добавляете их в код, вы можете использовать метод .live() (читать документы).

Если они, например, добавляются в DOM при вызове веб-службы, то вы можете использовать делегирование событий. Я оставлю это вам, чтобы почитать об этом! Если вы добавляете груды элементов в DOM, то делегирование событий - это путь.

Смежные вопросы