次のコードがあります。
HTML
<div id="pressed">I'm shown when button pressed</div>
<div id="relaxed">I'm shown when button relaxed</div>
<button>press_me</button>
CSS
#pressed {
display: none;
}
JS
$('button').mousedown(function() {
$('#pressed').show();
$('#relaxed').hide();
});
$('button').bind('mouseup ',function() {
$('#pressed').hide();
$('#relaxed').show();
});
マウス ボタンを押したままボタン要素の外にマウスを移動すると、リラックス ボタンの 2 番目のハンドラーが起動しないため、#pressed
div はまだアクティブで#relaxed
ありません。イベントを設定できますmouseout
が、その場合、ボタン要素は押されたように見えます。しかし、リラックスのためのイベントはすでに発生しています。
期待される動作を実現するには、どのイベント ハンドラーを設定すればよいですか? フィドル