永远不会触发可排序的“Out”事件

时间:2014-01-20 03:27:00

标签: javascript jquery-ui jquery jquery-ui-sortable jquery-trigger

我的网页上有一个可排序的(由嵌套的<div></div>组成)。我想从可排序中删除从可排序中拖出的项目。 但我无法触发“外出”事件。

这是我的JS(灵感来自this SO question):

    $(function(){
        var removeIntent = false;
        $('#selectedTags').sortable({
            over: function () {
                removeIntent = false;
                console.log("over: "+removeIntent);
            },
            out: function () {
                removeIntent = true;
                console.log("over: "+removeIntent);
            },
            beforeStop: function (event, ui) {
                console.log("over: "+removeIntent);
                if(removeIntent){
                    ui.item.remove();   
                }
            }
        });
    });

你会找到我的jsFiddle here

欢迎所有帮助。

编辑:如果我将我的div转换为<ul></ul>,那么它会按计划运行。有什么解释吗?我想保留<div></div>,因为我需要可排序的水平。

2 个答案:

答案 0 :(得分:0)

简单修复:只使用水平列表格式,而不是关注<div></div>内容。

我仍然不知道为什么out事件对div不起作用。

这样做here

    #menu ul{
      list-style: none;
    }

    #menu li{
      display: inline;
    }

答案 1 :(得分:0)

刚检查过你的小提琴;似乎是css

#selectedTags > div {float: left;
}

实际上是导致不被触发的原因。只是一个指针!