强制我的jquery在任何新添加的dom元素上运行

时间:2014-05-21 17:04:36

标签: javascript jquery razor

我有以下脚本,其中包含两个选择器: -

$(document).ready(function () { if ($("#ChoiceName2").prop("checked")) {

&安培;

$("#ChoiceTag2, #ChoiceName2").each(function () { $(this).change(function () {

选择器不会触发任何新添加的Dom元素,通常我会使用.on强制我的jquery在任何新添加的元素上运行,如下所示: -

$("body").on('click', '#DCSort', function () {

但不确定如何将.on添加到第一个脚本?

2 个答案:

答案 0 :(得分:2)

完成您要做的事情的最佳方法是使用没有样式定义的CSS类,但允许您将委托绑定到涉及该类的事件。

这样,委托就会对该类起作用,无论它何时被添加到DOM中。

像这样:

 <button class='DCSort'>Some Button</button>

 $('body').on('click', '.DCSort', function () {
 }

答案 1 :(得分:2)

由于您使用#ChoiceTag2, #ChoiceName2作为选择器,因此不需要$.each。因为它只会返回一个元素,因为它是一个ID。

     $('body').on("change", "#ChoiceTag2, #ChoiceName2", function () {

这将为新添加的元素

提供技巧