在load()之后拖放JQuery - 拖动工作但是丢失了

时间:2011-08-17 07:11:00

标签: jquery jquery-ui drag-and-drop load

我有一个简单的jquery设置,涉及一些带图像的div和一些需要拖到图像上的文本。如果我自己运行页面,一切都很好。不幸的是,我设置的方式,这是一个html页面,由jQuery load()加载到父页面上的div中,当我这样做时,虽然拖动工作,但下降不会。有任何想法吗?感谢。

$(document).ready(function () {
    $('.draggable').live('mouseover', function() {
        $(this).draggable({start:
            function(){
               //identifies dragged item
            }
         })
     })
     $('.droppable').live('mouseover', function() {
         $(this).droppable({drop: 
             function(){
                //checks to see if it wants dragged item                
             }
          })
     })
});

编辑:

很抱歉,如果我不清楚 - 我会尽力澄清:我有一个父页面,其中有一个div,我正在加载其他页面,使用jQuery加载功能。除导航外,此父页面基本上是空的。所有操作都在加载到其中的从属页面上继续。关于加载,没有任何花哨的东西 - 页面都加载正常 - 所以我可以自己查看加载的页面(直接在浏览器中打开它们)或者在加载到它们时查看它们父页面。那就是那里似乎有些东西搞砸了,拖拽工作但没有下降。父页面上的加载由以下内容完成:

$('.unit-nav-links').bind('click', function() {
    var $sender = $(this);
    $('.content').fadeOut(200, function() {
        $('.content').load($sender.attr('href'), function () {
            $('.content').fadeIn(200, function() {
                currentIndex = parseInt($sender.attr('data-currentIndex'));
            });
        });
    });
    return false;
})

其中content是包含正在加载的页面的div,href是正在加载的页面的地址。


编辑:我已经找到了解决这个问题的解决方案,所以在不太可能的情况下,有人偶然发现问题,原因是问题在于将

元素拖到元素上。由于我无法开始猜测的原因,当通过jQuery加载调用页面时,这不起作用,虽然将

拖到

或上面就可以了,所以解决方案只是将图像包装在

标签中,鲍勃是你的叔叔。至少我希望他是。

1 个答案:

答案 0 :(得分:0)

您的鼠标事件都是鼠标悬停。尝试将它们切换到mousedown以开始拖动,然后用鼠标按钮结束它。