无法阻止丢弃事件传播

时间:2013-06-11 16:38:17

标签: jquery-ui

我想将一个小图案放入div或者身体中,并且具有该div或身体的背景,无论哪个接收到该模式,都要在x和y中重复该模式。见jsfiddle。如果我从Gallery div拖动模式并将其放入正文中,则只需要正文获取背景图案。大!这样可行。但是如果我将图案放入画布div中,则身体和画布都会获得图案。我怎样才能让画布在放置目标时获得模式。在Drop处理程序结束时,我尝试了所有我知道的方法来停止传播。 。

 e.stopPropagation();
 e.stopImmediatePropagation();
 return false;

但没有任何效果。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

你几乎是对的。我已修改您的fiddle以显示更改。

您需要在greedy对象中添加thumb_dropOps属性。将您的功能修改为以下内容:

var thumb_dropOps = {       
    drop : thumb_drop,
    accept : '#pattern',
    greedy: true
};

以下是参考链接:jQuery UI - Droppable API Docs

根据jQuery UI文档:

  

默认情况下,当在嵌套的droppable上删除元素时,每个droppable都将接收该元素。但是,通过将此选项设置为true,任何父级droppable都不会接收该元素。 drop事件仍会正常冒泡,但可以检查event.target以查看哪个droppable收到了draggable元素。