从AJAX结果处理HTML上没有jQuery事件

我创建了一个网页,使用AJAX请求填充div的内容。

我正在使用

$('#div_id').html(data); 

填充div,这很好。

但是,所有返回的内容都丢失了JQuery,没有更多onclick事件,也没有JQueryUI小部件。

我试过打电话给所有这些

 $('#div_id').trigger('create'); $('#div_id').html(data).trigger('create'); $('body').trigger('create'); 

和’pagecreate’一样,而不是创建。

虽然谷歌搜索时发现的所有内容都与JQuery Mobile有关,但这一切都没有起作用,所以我可能会完全咆哮错误的树。

谢谢

将新元素附加到DOM时,需要使用事件委派。

很难在没有看到HTML的情况下给出确切的答案,但是说你有一个按钮,你正在添加点击处理程序…你会把处理程序附加到#div_id,而不是像这样:

 $('#div_id').on('click', 'button', function () { //do your thing... }); 

on方法中的第二个参数是将调度该事件的元素。 您可以将其视为“if”语句。 处理程序附加到祖先元素,当事件冒泡到它时,事件被触发。 当它被触发时,检查第二个参数。 它说“确实’按钮’发送此事件?”,如果答案为“是”,则函数回调运行。