使用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
拖過第二個,mousemove函數會激發(並且firebug會記錄輸出)。但是,如果我將第二個li
拖過第一個,則mousemove函數不會觸發。你可以在http://jsbin.com/ivala上看到。是否有一個原因?我應該以其他方式捕捉mousemove事件嗎?
編輯:它看起來像mousemove()事件沒有綁定的早期元素比當前正在拖動(應綁定到他們的鼠標懸停)。
我打開鏈接,有時將第二個li拖拽到第一個firebug上記錄輸出。但是,第一個過程比第一個過程更容易。 – 2009-08-19 18:58:05
我也注意到了。這不是regualr行爲;非常令人費解。 – saturdayplace 2009-08-19 21:26:34
你想通過添加mousemove事件來完成什麼? – PetersenDidIt 2009-08-22 15:20:45