在动态元素上触发自定义事件

时间:2013-05-08 18:29:06

标签: jquery

我创建了一个自定义的login.validate事件,并将其绑定到.question动态元素。 我无法使用trigger method()触发新事件。这里是JS小提琴和脚本http://jsfiddle.net/PzSYM/400/

<h2></h2>
<button>generate new element</button>
<p class="generateEvent">Trigger event validate</p>


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


$('p.test').bind('validate', function(){

    alert('This is working');
})

$('h2').on('login.validate', 'p.test', function(){
    console.log('Good now the validate event need to be trigered');
});

$('.generateEvent').click(function(){
    $('p.test').trigger('login.validate');

});

如何在动态元素中触发自定义事件?

1 个答案:

答案 0 :(得分:0)

您需要使用事件委托。这是工作样本:

http://jsfiddle.net/tkirda/PzSYM/414/

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


$(document).on('validate', 'p.test', function () {
    alert('This is working');
})

$('h2').on('login.validate', 'p.test', function () {
    console.log('Good now the validate event need to be trigered');
});

$('.generateEvent').on('click', function () {
    $('p.test').trigger('validate');
});