我有一個div與一個onmousedown事件,但它觸發時,我點擊遠離div。 這個屏幕截圖顯示了我剛剛在廣場上點擊並註冊了一個mousedown。我認爲我有足夠的註釋足夠有幫助...雖然我不小心寫了「Picker」而不是「Switcher」...我已經確認「Picker」不在我的代碼中。爲什麼在別處點擊鼠標時觸發onmousedown?
如果你看the page, active on my server你可以自己複製它。它不會一直髮生,但是會發生。右側的div填充每個事件的一個字母,並且由於某種原因而未被取消,這是我用來診斷問題的原因。
我是一個新用戶(sory--新的一般,所以沒有回答或問任何問題),所以不能發佈圖片。
編輯:以下是圖像:
#colourSwitcherMapBox {
position: absolute;
left: 5px;
top: 5px;
height: 256px;
width: 256px;
display: block;
background-color: orange;
}
#colourSwitcherMapMark {
position: absolute;
height: 15px;
width: 15px;
top: -8px;
left: 248px;
z-index: 3;
display: block;
}
#colourSwitcherMapBox div {
position: absolute;
height: 256px;
width: 256px;
top: 0;
left: 0;
}
<div id="colourSwitcherContainer" class="colourSwitcherStuff" onmousedown="colourSwitcherDrag(event);">
Colour Switcher:<input type="checkbox" onclick="toggleColourSwitcher(this.checked);" />
<div id="mainColourSwitcher">
<div id="colourSwitcherMapBox" onmousedown="colourSwitcherDragMap(event);">
<div id="colourSwitcherMapMark"><img src="imagesCP/mapIndicator.png" alt="" /></div>
<div id="colourSwitcherMaxB"><img src="imagesCP/map-blue-max.png" alt="" /></div>
... lots more divs identical to the last line other than image and ...
</div>
... other stuff (colourSwitcherBarBox and colourSwitcherPickInfo) ...
</div>
</div>
function colourSwitcherDragMap (event) {
if (!event) {var event = window.event;}
if (event.preventDefault) {event.preventDefault();} else { event.returnValue = false; }
document.body.onmousemove = colourSwitcherChangeBar;
document.body.onmouseup = colourSwitcherStopDragging;
document.getElementById("randomblob").innerHTML += "M ";
colourSwitcherChangeBar (event);
}
謝謝!手動檢查450行Javascript後,它是CSS優先。固定! –