[英]Java Script mouseUp event ignored when mouse is released during drag
所以我有一個<div>
元素,該元素在我的腳本中創建並附加到另一個<div>
。 我有:
coverElm.onmousedown = mouseDownEventHandeler;
document.onmouseup = mouseUpEventHandeler;
document.onmousemove = mouseMoveEventHandeler;
我已經定義了功能並且可以很好地工作,並使用布爾mouseDown
跟蹤鼠標是否按下。
問題 -當按下鼠標並釋放document.onmouseup
從未處理。 我認為這是因為它會拖累<div>
女巫中的任何內容,只是文本中的幾句話。 我也有沒有文字的問題。
因此,我要尋找的是一種防止這種奇怪的拖動行為的方法,或者一種供onmousedrag查看是否按下鼠標的方法 - 不使用上移和下移方法
[編輯]這是我的功能:
function mouseUpEventHandeler(e) {
mouseDown = false;
}
function mouseDownEventHandeler(e) {
mouseDown = true;
}
function mouseMoveEventHandeler(e) {
if (mouseDown) {
coverElm.innerHTML ="<p>Mouse down and dragging</p>";
}
}
90%的時間是因為被拖動的元素位於具有mouseup
事件偵聽器的元素的前面,因此下方的父元素永遠不會獲取該事件。
通常,可以使用addEventListener
而不是事件的內聯形式來解決此問題。 解決此問題的另一種方法是為拖動的元素提供釋放鼠標時的eventListener
。 此外,每當元素開始拖動時(通過zIndex
屬性),您都可以將div
置於所有其他元素的前面。
編輯:我鞭打了一些概念驗證代碼: http : //jsfiddle.net/2BkEM/5/
$j(divID).bind('dragstart', function (event) { event.preventDefault() });
謝謝大家
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.