javascript - jquery ui droppable 的贪婪设置不起作用?

标签 javascript jquery jquery-ui

通过将 droppable widget 的 greedy 设置为 true,只有最顶层的元素应该响应 drop 事件。这里真的没有复杂性,但我就是无法让它工作。这就是我没有太多工作要做的:

CSS:

.page{
    position:    absolute;
    width:       150px; 
    height:      150px;
    left:        0px; 
    top:         0px;
    text-align:  center;
    background:  #F0FFFF;
    border:      1px solid #89B;
}

HTML:

<div class = 'page' id = 'page1'> page1 </div>
<div class = 'page' id = 'page2'> page2 </div>
<div class = 'page' id = 'page3'> page3 </div>

JS:

document.ready = function(){


    $('.page').draggable()


    $('.page').droppable({

        greedy: true,

        drop: function( event, ui ){

            console.log( 'assert drop once')
        }

    })


}

现在发生的是所有放置在元素上的元素都在响应放置事件。由于要保存的代码太少,我不知道如何诊断这个问题。

最佳答案

阅读有关greedy 属性的文档,我不确定我的理解是否与您相同:

By default, when an element is dropped on nested droppables, each droppable will receive the element. However, by setting this option to true, any parent droppables will not receive the element.

对我来说,这意味着如果你有一个大的 div droppable,它包含另一个较小的 div droppable 那么如果你把一个元素放到小的 div 中,只有小的会收到事件。

查看此演示以了解我在解释什么:http://jquery-ui.googlecode.com/svn/tags/1.6rc4/demos/droppable/greedy.html

关于javascript - jquery ui droppable 的贪婪设置不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13790126/

相关文章:

javascript - 在日期选择器中验证日期

javascript - 在 Jasmine 中如何检查函数是否返回对象?

javascript - 无法在 angular6 中使用键值为 'templateUrl' 的对象

javascript - 我已经编写了这个程序,但无法找到任何错误,但当我输入时仍然没有得到任何输出

javascript - 将弹出窗口更改为选项卡窗口

jquery - 我想在 jquery 中绑定(bind)键

javascript - Jquery UI 调整大小问题

Jquery UI 选择菜单在对话框中不起作用

jquery - 覆盖子容器上的绝对位置(模态窗口)

javascript - 运行存储为 jQuery 对象的脚本