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