私はこれで自分の利益のためにあまりにも賢くしようとしているのではないかと思います!
私は、ホバーイン/アウトしたときに要素のクラスのオン/オフを切り替えるjQueryプラグイン関数に取り組んでいますが、ホバーアウトする前に要素の内側をクリックしてもクラスが削除されず、にカーソルを合わせる前に、要素にはすでにそのクラスがあります。
私は次のことを考え出してみました:
$.fn.showHover = function(settings) {
this.bind('mouseover', function hoverIn(){
if ($(this).hasClass('active') == false) {
$(this).addClass('active');
$(this).bind('click', function getFocus(){
$(this).unbind('mouseout', hoverOut);
})
$(this).bind('mouseout', function hoverOut(){
$(this).removeClass("active");
$(this).unbind('click', getFocus);
})
}
})
return this;
};
...クリックする前にホバーアウトし、クラスを削除してクリックのバインドを解除する場合のアイデア-ホバーアウトする前にクリックすると、マウスアウトのバインドが解除され、クラスが削除されることはありません。
明らかに(私はここで助けを求めているので!)それは機能しません-ホバーアウトする前に要素の内側をクリックするかどうかに関係なく、クラスは削除されます。
誰かがそれが失敗している理由を指摘し、おそらくそれを回避するためのより良い方法を提案できますか?ありがとう!