MouseLeave
jQuery/Javascript を使用して、イベント後にマウスがホバーした最初の要素を確認するにはどうすればよいですか?
基本的に、要素の配列から、マウスがそれらの要素の上を移動しているかどうかを確認したいと考えています。
を使おうとしていevent.relatedTarget
ます。
何か助けはありますか?
MouseLeave
jQuery/Javascript を使用して、イベント後にマウスがホバーした最初の要素を確認するにはどうすればよいですか?
基本的に、要素の配列から、マウスがそれらの要素の上を移動しているかどうかを確認したいと考えています。
を使おうとしていevent.relatedTarget
ます。
何か助けはありますか?
relatedTarget
マウスイベントにプロパティが存在します
MouseEvent.relatedTarget
読み取り専用プロパティは、マウス イベントの 2 番目のターゲットです (存在する場合) 。
そして、mouseleave
それは入力された要素を指します。
だからあなたはただすることができます
$('element').mouseleave(function(event){
// assuming that allowedList holds the array of allowed elements
if ( allowedList.indexOf( event.relatedTarget ) > -1 ){
// found
} else {
// not found
}
});
何を探しているのかわかりませんが、おそらく次のようなものです。
var elements = $("#a1, #a2");
$("#a3").on('mouseleave', nextElm);
function nextElm() {
$('div').on('mouseenter', thisIsIt);
$("#r").html('Now hover another element ?');
}
function thisIsIt(e) {
if ($.inArray(e.target, elements)!=-1){
$("#r").html('yes');
}else{
$("#r").html('no');
}
$("#a3").off('mouseleave', nextElm);
$('div').off('mouseenter', thisIsIt);
}
</p>
このようなことができます。ここにフィドルがあります
var hovered = false;;
$('div').mouseleave(function(e) {
hovered = true;
});
$('div').hover(function(ev) {
if (hovered) {
alert(ev.target);
hovered = false;
}
});