Googleでホストされている最新のjQuery/UIを使用しています。jQueryドラッグ・ドロップの問題:mousemoveイベントが一部の要素にバインドされていません
<ul id="tree">
<li><a href="1/">One</a></li>
<li><a href="2/">Two</a></li>
</ul>
そして、次のjavascript:私は、次のマークアップ持っている
$(document).ready(function(){
// Droppable callbacks
function dragOver(overEvent, ui_object) {
$(this).mousemove(function(moveEvent){
console.log("moved over", this);
});
}
function drop_deactivate() {
$(this).unbind();
}
function drag_out() {
$(this).unbind();
}
// Actual dragging
$("#treeContainer li").draggable({
revert: true,
revertDuration: 0
});
// Actuall dropping
$("a").droppable({
tolerance: "pointer",
over: dragOver,
deactivate: drop_deactivate,
out: drag_out
});
を});
最初のli
を2番目にドラッグすると、mousemove関数が起動します(そして、firebugは出力をログに記録します)。しかし、最初の2番目のli
を上にドラッグすると、mousemove関数は起動しません。このライブはhttp://jsbin.com/ivalaにあります。これには理由がありますか?何か他の方法でmousemoveイベントをトラップする必要がありますか?
編集:mousemove()イベントは、現在ドラッグされている要素(マウスオーバー時にバインドする必要があります)よりも前の要素に対してバインドされていないと考えられます。
私はリンクを開いて、最初の火薬爆弾の上に2番目のliをドラッグして出力を記録します。しかし、それは2番目のものよりも最初のものを引きずることがはるかに容易です。 –
私もそれに気付きました。それは規則的な行動ではない。非常に混乱しています。 – saturdayplace
mousemoveイベントを追加して何を達成しようとしていますか? – PetersenDidIt