首页 新闻 搜索 专区 学院

动态绑定jquery ui的droppable问题

0
悬赏园豆:50 [已关闭问题] 关闭于 2014-07-08 11:25
$(function () {

    $("#wf_dragNode").draggable({
        helper: "clone",
        zIndex: 100000,
        drag: function (event, ui) {
            var state_all = $("#ceshi_node_div").children(".comb_mbot1");
            var stage_div = "";
           
            stage_div = "<div class=\"comb_mbot1\" id=\"stage_0\">";

            stage_div += "</div>";

            $("#ceshi_node_div").append(stage_div);
           
        }
    });

 

我想给class="comb_mbot1"绑定ui的droppable事件,怎么做

scotly的主页 scotly | 初学一级 | 园豆:4
提问于:2013-02-27 09:14
< >
分享
所有回答(1)
0

你这个"comb_mbot1",属于新生成的,并不能直接给它绑定,你需要用到另外一个插件jquery.livequery.js,可以用它给动态生成的dom绑定事件,你可以搜索一下livequery的用法.

猪不会飞 | 园豆:227 (菜鸟二级) | 2013-02-27 10:46

嗯,我试过livequery,确实是可以,不过jquery的delegate也是可以动态生成事件的啊,为什么就没有效果呢

支持(0) 反对(0) scotly | 园豆:4 (初学一级) | 2013-02-27 11:05

我想jquery既然提供了delegate用来动态绑定事件,就没必要再用一个插件去做这样的工作

支持(0) 反对(0) scotly | 园豆:4 (初学一级) | 2013-02-27 11:06

@scotly: 你可能不太明白Jquery执行顺序.Jquery是在Dom加载完成后,开始执行的.这时候,你添加的那个"comb_mbot1"并不包含在dom中,即使你后面手动去添加"comb_mbot1"到dom中,并绑定事件,但这时的Jquery还是不会找到"comb_mbot1"这个元素的.所以你用的live,bind,delegate都不会起作用的

支持(0) 反对(0) 猪不会飞 | 园豆:227 (菜鸟二级) | 2013-02-27 12:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册