4

MouseLeavejQuery/Javascript を使用して、イベント後にマウスがホバーした最初の要素を確認するにはどうすればよいですか?

基本的に、要素の配列から、マウスがそれらの要素の上を移動しているかどうかを確認したいと考えています。

を使おうとしていevent.relatedTargetます。

何か助けはありますか?

4

4 に答える 4

3

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
    }
});

http://jsfiddle.net/gaby/V4pJb/のデモ

于 2012-04-28T18:27:37.447 に答える
0

何を探しているのかわかりませんが、おそらく次のようなものです。

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>

フィドル

于 2012-04-28T18:21:08.357 に答える
0

このようなことができます。ここにフィドルがあります

var hovered = false;;
$('div').mouseleave(function(e) {
    hovered = true;
});
$('div').hover(function(ev) {
        if (hovered) {
            alert(ev.target);
            hovered = false;
        }
});
​
于 2012-04-28T18:21:57.187 に答える