0

私はここにjsfiddleを持っています - http://jsfiddle.net/xVvZB/1/ - ドロップ可能な2つの重なり合うベージュのボックスと、ベージュのボックスにドロップするための赤いボックスがあります。ベージュのdropOpsで「貪欲」をtrueに設定していますが:

var beige_dropOps = {    
    drop : beigeDrop,       
    accept : '#redBox',     
    greedy : true
};

redBox がそれらにドロップされると、ドロップ ハンドラーへの呼び出しが 2 回 (ベージュ色のボックスごとに 1 回) 行われます。そのため、貪欲 = true で予想されるように、ドロップ イベントがトップ ボックスによってキャプチャされていないようです。Firebug をオンにして、beigeDrop() のデバッガー行が 2 回呼び出されるのを見ると、2 つの割り込みを確認できます。

誰が何が起こっているのか知っていますか?

ありがとう

4

1 に答える 1

2

貪欲は、兄弟関係ではなく、親子関係に影響を与えます。

例としてこのフィドルを参照してください

基本的、

greedy:true

イベントが親要素にバブリングするのを防ぎます。あなたの例のフィドルでは、2つの要素は兄弟であるため、関数は2回起動されます。私の例のフィドルでは、ボックス 2 はボックス 1 の子なので、ボックス 2 だけが関数を起動します。

于 2013-08-05T21:27:02.360 に答える