我正在使用Ajax将HTMl代码注入到dom中。它成功地做到了这一点,但我的jQuery选择器不适用于这个HTML输入
因此,如果我在Jquery中执行以下操作,它不会被识别。。。
$("input[id*='cb_Compare']").click(function ()
但是,如果我在服务器端代码中使用onclick函数来分配输入,则会起作用。
这是什么魔法?
如果DOM是动态添加的,则需要使用事件委派。阅读此链接以进一步了解。事件委托
$(document).on('click',"input[id*='cb_Compare']",function (){
//your code
});
将事件委派与直接父选择器一起使用是执行动态创建的元素的最佳方式
$("#parentSelector").on("click", "input[id*='cb_Compare']" , function() {
// your code here
});
或
$(document).on("click", "input[id*='cb_Compare']" , function() {
// your code here
});
由于您使用jQuery动态生成HTML,因此必须使用事件委派来绑定click()
事件,如图所示:-
$(document.body).on('click','input[id*="cb_Compare"]',function(){
//...your stuff
});