我想要以下行为。点击事件后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由于他的描述警报必须在释放按钮之后显示,而不是实际的点击本身,因此它可能会工作 –