我想要以下行爲。點擊事件後mousedown和mouseup事件不會發生
- 「Foo」顯示在瀏覽器中。
- 如果您在「Foo」上按下鼠標按鈕,「Bar」將顯示爲「Foo」。
- 如果您釋放按鈕,「Foo」將再次顯示「Bar」。
- 最後在警告框中顯示「Hello」。
我寫了下面的代碼,但最後一步從未發生過。看起來.hide()方法阻止了onclick事件的發生。任何想法解決?
<body>
<div id="parent">
<div id="foo">Foo</div>
<div id="bar">Bar</div>
</div>
<script>
$(function(){
$("#foo").show();
$("#bar").hide();
$("#parent").mousedown(function(){
$("#foo").hide();
$("#bar").show();
});
$("#parent").mouseup(function(){
$("#foo").show();
$("#bar").hide();
});
$("#parent").click(function(){
alert("Hello");
});
})
</script>
</body>
但如果你點擊的div以外,拖動鼠標到格,然後釋放,這將產生警報,即使這不是一個click事件。 –
@ScottMermelstein由於他的描述警報必須在釋放按鈕之後顯示,而不是實際的點擊本身,因此它可能會工作 –