2012-12-13 40 views
1

我有點新的jquery和即時通訊面臨拖動元素,如果我點擊其子元素的問題。jQuery在其子元素上的mousedown事件時拖動一個元素

HTML 
<div class="floatingPanel"> 
    <div class="dragger"> 
     Drag from here 
    </div> 
</div> 

JQUERY 
$(document).ready(function() { 
    $('.dragger').mousedown(function() { 
     $('.floatingPanel').draggable({ 
      opacity: 0.35 
     }); 
    }).mouseup(function() { 
     alert("mouse up"); 
    }); 
}); 

如果我點擊'.floatingPanel'區域,它仍在拖動。我在哪裏做錯了? 的例子是在這裏:http://jsfiddle.net/6g6Xr/23/

OK,它解決了,感謝Polmonite爲http://jsfiddle.net/6g6Xr/28/

+0

究竟是什麼你想要它做什麼? –

+0

我想從.dragger拖動.floatingPanel。我很抱歉沒有提早提到它,所以很蠢。 – choz

+0

沒關係,只是想確保幫助你做正確的事情:) –

回答

1

如果你寫:

$('.floatingPanel').draggable(...); 

你說的.floatingPanel元素是阻力。 你應該真正做到:

$(document).ready(function() { 
    $('.dragger').draggable({ 
     opacity: 0.35 
    }); 
}); 

,同時指定以下jQuery的可拖動的API的可拖動的所有選項:http://api.jqueryui.com/draggable/

如果你想只有通過.dragger拖動.floatingPanel你應該寫:

$(document).ready(function() { 
    $('.floatingPanel').draggable({ 
     opacity: 0.35, 
     handle: '.dragger' 
    }); 
}); 
+0

好的。這解決了它。非常感謝:) – choz

0
$(document).ready(function() { 
    $('.dragger').mousedown(function() { 
     $('.dragger').draggable({ 
      opacity: 0.35 
     }); 
    }).mouseup(function() { 
     alert("mouse up"); 
    }); 
}); 

見的fiddle

應工作

相關問題