如何将jquery函数绑定到动态DOM
我在我的页面上使用jquery文件上传function,如下所示:
$('.new-variant-image') .fileupload({ dataType: 'script', add: function(e, data){ } });
但是DOM类“new-variant-image”是在页面加载后动态创建的,所以它不起作用。 我搜索了使用“on”和“live”绑定动态事件的方法,但在这种情况下不会让它工作。
任何帮助将不胜感激。
编辑
之后使用AJAX创建DOM元素“new-variant-image”,如果我在创建元素之后放置代码,它就可以工作。 但是我想避免这种情况,因为当我多次使用ajax调用该函数时,它会导致浏览器挂起大约2到3秒。
使用函数的回调
$('.new-variant-image').fileupload({ dataType: 'script', add: function(e, data), done: $('.new-variant-image').click(function(){ }) {
你的代码$('.new-variant-image').fileupload({ dataType: 'script', add: function(e, data){
应该在元素创建代码之后….
我不知道你是如何创建元素的(使用ajax或其他东西)…
什么乔治 – 它建议应该工作……
虽然回答这个问题的时间很晚,但是从jQuery 1.7开始,你可以使用jQuery.fn.on 。
$(document).on("click", ".new-variant-image", function () { $('.new-variant-image') .fileupload({ dataType: 'script', add: function (e, data) { } }); })
这将为所有当前元素附加事件处理函数,或者使用类new-variant-image
附加动态附加元素。