2013-08-23 32 views
-1

添加到动态创建的元素可以被处理的事件处理程序如下所示:jQuery的处理程序 - 如何申请一个动作动态添加元素

In jQuery, how to attach events to dynamic html elements?

$('body').on('click', 'a.myclass', function() { 
    alert($(this).text()); 
}); 

但是说,我想,然后执行对动态添加的元素采取行动。

在下面$示例这段代码运行之后被添加(“inout.wp”),S和我希望用jQuery Validator验证他们都在处理火灾:

<input type="text" name="wp_address_0" placeholder="Enter a Town, City or Postcode" id="wp_address_0" class="geocode wp"> 

<script> 
$('body').on('click', 'a.myclass', function() { 
    $('input.wp').valid(); 
}); 
</script> 

我虽然也许我可以使用.find为此:

$('body').on('click', 'a.myclass', function() { 
    $("#waypoints").find('input.wp').valid(); 
}); 

但它没有帮助。我怎样才能做到这一点?

+0

读者可以查看要验证的新添加元素的HTML标记。根据标记和情况,有些可能需要使用'rules('add')'方法来动态添加HTML。 – Sparky

+0

@sparky - 自动化规则工作的方式不是问题,我的问题只是确定哪些元素将它们应用于*编程*。提交正在正确应用规则,但我想在目标帖子被移动时重新检查有效性。 – gpcola

+0

我的观点是,如果你显示标记,这将更清晰地寻求帮助。有很多不同的方式来使用这个插件。 – Sparky

回答

0

好了,所以这是比我想象的,我应该已经意识到之前问的方式更容易...

$('body').on('click', 'a.myclass', function() { 
    $('#waypoints input.wp').valid(); 
}); 

只要 您引用了一个静态容器,用于显示找到的选择器中的动态元素。

0

更换

$('body').on(

$(document).on(
+0

http://stackoverflow.com/questions/15216908/click-does-not-work-on-a-span-class-that-loaded-later/15216920#15216920 –

+0

为了解决这个问题'body'会是绑定后添加的元素 –

相关问题