2017-01-26 7 views
0

これは機能しますか?これはちょうど.hover()関数で行うことができますが、 。AJAXと

Codepen

$(document).on('mouseenter', '.result', 
 
    function() { 
 
    $(this).addClass("result_hover"); 
 
    }, 
 
    function() { 
 
    $(this).removeClass("result_hover"); 
 
    } 
 
);
.result_hover { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<h1 class="result"> 
 
    Result 
 
</h1>

+0

私は意味、あなたは同じ目標を達成 '.on('を複数回呼び出すことができ –

+1

なぜjQueryのは全く簡単なホバー効果について。 – Andreas

+0

@Andreas私は知っていますが、その要素上のホバーは、クラスを追加/削除します(「コード:」)。私が知りたかったのは、私が提供したコードとできるかどうかでした。 – Eli

答えて

3

jQuery.hoverに記載されているように:

.hover()メソッドは、mouseenterイベントとmouseleaveイベントの両方のハンドラをバインドします。

1つのハンドラにのみ興味がある場合は、toggleClass(className, state)を使用できます。

だから、あなたが行うことができます:

$(document).on('mouseenter mouseleave', '.result', function(e) { 
 
    $(this).toggleClass("result_hover", e.type == 'mouseenter'); 
 
});
.result_hover { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 

 
<h1 class="result"> 
 
    Result 
 
</h1>

+1

ありがとう、しかし私はこれについて知っていました。しかし、私はそれが可能ではないと思う – Eli

+1

うわー2番目のオプションはまさに私が探していたものです!ありがとう@gaetanoM – Eli

+0

簡単な質問、 "e.type == 'mouseenter'"なぜこれが必要ですか? – Eli

関連する問題