2013-05-06 5 views
0

Я создаю динамические элементы, и при нажатии другой кнопки необходимо выполнить событие щелчка на динамически сгенерированном элементе. Я знаю on() Метод jquery имеет такую ​​функциональность, но не знает, как применить в моем контексте. Я был бы рад, если бы кто-то мог помочь.Триггер динамически созданного элемента

HTML код:

<h2></h2> 
<button>generate new element</button> 
<p class="generateEvent">Event</p> 

Мой JQuery Код:

$(function(){ 

    $("button").click(function() { 
     $("h2").html("<p class='test'>click me</p>") 
    }); 

    $('.generateEvent').click(function(){ 
     $("p").trigger("click", function(){ 
      alert('you clicked me again!'); 
     }); 
    }); 
}); 
// Method two: 

http://jsfiddle.net/PzSYM/399/

+1

Что вы пытаетесь сделать с этим вызовом '.trigger()'? –

+0

На самом деле я запускаю событие click –

ответ

-1

попробовать это,

$("p").bind("click", function(){ 
alert('you clicked me again!');}) 

http://jsfiddle.net/sCgCj/

+0

-1 - если 'p' создается динамически, это не сработает. – Dom

3

Вы можете использовать on() связывание события родительского контейнер цели, который уже находится на странице при первой загрузке страницы. Таким образом:

$('#parent').on('click','.target',function(){ 
    //do something.. 
}); 
+0

Я второй, 'on()' является последней функцией jquery. Другая функция, такая как 'live ()' устарела или удалена в последнюю библиотеку jquery ... – Olrac

+0

На самом деле это упрощенная версия того, что я хочу. Я фактически создаю пользовательское событие login.validate и вызываю событие с помощью trigger(), но для динамических элементов оно не работает –

+0

Это вы имеете в виду: http://jsfiddle.net/PzSYM/393/ ?? –

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