为什么jQuery on-click事件处理程序对动态加载的DOM元素不能正常工作?
我在我的主页上加载我的JavaScript文件,然后导航到我需要onclickfunction的页面。 onclick附加到通过AJAX调用随时间动态加载的内容。 我试图达到的元素构造如下:
Alle huurdergegevens
在我的JavaScript文件中,我写了这个:
$(".query").click(function() { var id = $(this).attr('id'); id = id.replace(/\D/g,''); console.log(id); exeSQL(id); });
当我点击元素时,字面上没有任何反应..没有任何东西记录在控制台,没有错误以及..无法弄清楚我做错了什么…
在创建DOM之后加载DOM中的任何元素时,您必须使用on
来处理这样的单击事件
$(document).on("click",".query",function() { var id = $(this).attr('id'); id = id.replace(/\D/g,''); console.log(id); exeSQL(id); });
您必须将此语法用于动态内容上的事件
$(document).on('click','.query',function() { var id = $(this).attr('id'); id = id.replace(/\D/g,''); console.log(id); exeSQL(id); });
看一个例子:
$(document).on('click', '#myButton', function(){ alert('ok') })