首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过AJAX加载Div时jQuery拖放中断

通过AJAX加载Div时jQuery拖放中断
EN

Stack Overflow用户
提问于 2011-05-12 12:16:14
回答 2查看 2.5K关注 0票数 2

我有一个需要放到由AJAX加载的div上的可拖动对象的列表。但是,当由AJAX加载div时,它会破坏droppables功能。我从方程式中删除了AJAX,它工作得很好。

下面是可用的代码。有了这段代码,我可以将.contentList中的项目拖到#Block1div中,一切都会正常工作。

代码语言:javascript
复制
<div id="block1"></div>

$(".contentList").draggable();

var dropOpts = {
  hoverClass: "activated",
  tolerance: "pointer",
  drop: getURL
};

$("#block1").droppable(dropOpts);

然后,我让下面的代码通过jQuery .load加载一个新的div。

代码语言:javascript
复制
    $(document).ready(function() {
    $("#template1").click(function() {
        $("#dynamic-ui").load("/templates/newtemplate.html");
    });

newtemplate.html包含一个具有相同id的div;#block1。然而,一旦它加载,我就不能再拖到它上面了。任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-05-12 12:35:41

在将newtemplate.html加载到dom之后,添加代码使#block1可删除。例如:

代码语言:javascript
复制
$(document).ready(function() {
    $("#template1").click(function() {
        $("#dynamic-ui").load("/templates/newtemplate.html");
        var dropOpts = {
            hoverClass: "activated",
            tolerance: "pointer",
            drop: getURL
        };

        $("#block1").droppable(dropOpts);        
    });
});
票数 2
EN

Stack Overflow用户

发布于 2011-05-12 12:26:19

事件的绑定在浏览器加载网页时发生。

因此,在加载过程中,如果JavaScript没有找到指定的分区/元素,它们就不会绑定事件。因此,对于动态创建的分区,您需要使用jQuery live来绑定事件。

对于你的问题,我想this question会回答你的。

希望能对你有所帮助。祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5973237

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档