다음 동작을 원합니다.mousedown 및 mouseup 이벤트 발생 후 클릭 이벤트가 발생하지 않습니다.
- "Foo"가 브라우저에 표시됩니다.
- "Foo"에서 마우스 버튼을 누른 경우 "Foo"에 대해 "Bar"가 표시됩니다.
- 버튼을 놓으면 "Foo"가 다시 "막대"로 표시됩니다.
- 마지막으로 "Hello"가 경고 상자에 표시됩니다.
다음 코드를 작성했지만 마지막 단계는 발생하지 않습니다. .hide() 메서드는 onclick 이벤트가 발생하지 않도록합니다. 고칠만한 아이디어가 있습니까? 모두 mousedown
및 mouseup
이벤트가 일어날 때
<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에 마우스를 드래그합니다. –
@ScottMermelstein은 Discription 경고로 인해 실제 클릭 자체가 아닌 버튼을 놓은 후에 표시되어야하므로 작동 할 수 있습니다. –