答えて
$(this).unbind('mouseenter').unbind('mouseleave')
以上簡潔に(感謝@Chadグラント) :
$(this).unbind('mouseenter mouseleave')
または$(this).unbind( 'mouseenter mouseleave') –
それはmouseleaveの後でマウスのための必要な配列ですか? – sanghavi7
すべてのホバーは舞台裏でやっているマウスオーバーとマウスアウトプロパティにバインドされています
これは動作しません。これらのイベントから個々に関数をバインドしてバインドを解除します。
たとえば、次のHTMLを持っていると言う:
<a href="#" class="myLink">Link</a>
、あなたのjQueryのは次のようになります。
$(document).ready(function() {
function mouseOver()
{
$(this).css('color', 'red');
}
function mouseOut()
{
$(this).css('color', 'blue');
}
// either of these might work
$('.myLink').hover(mouseOver, mouseOut);
$('.myLink').mouseover(mouseOver).mouseout(mouseOut);
// otherwise use this
$('.myLink').bind('mouseover', mouseOver).bind('mouseout', mouseOut);
// then to unbind
$('.myLink').click(function(e) {
e.preventDefault();
$('.myLink').unbind('mouseover', mouseOver).unbind('mouseout', mouseOut);
});
});
修正、jquery srcのホバーを見た後、実際にはmouseenter/mouseleaveにバインドされています。同じことをする必要があります。 – bendewey
mouseenter
とmouseleave
イベントを個別にアンバインドするか、要素のすべてのイベントをアンバインドします。
$(this).unbind('mouseenter').unbind('mouseleave');
または
$(this).unbind(); // assuming you have no other handlers you want to keep
実は、jQuery documentationは(彼らはうまく動作するでしょうが)の上に示すチェーンの例よりも簡単な方法があります:jQueryののよう
$("#myElement").unbind('mouseenter mouseleave');
1.7では、イベントバインディングに$.on()
と$.off()
を使用することもできるため、ホバーイベントをバインド解除するには、シンプルでティルダを使用します。
$('#myElement').off('hover');
擬似イベント名「ホバー」is used as a shorthand「のMouseEnter mouseleave」のためではなく、それ以前のjQueryのバージョンでは異なる方法で処理されました。リテラルイベント名のそれぞれを明示的に削除する必要があります。 $.off()
を使用すると、同じ短縮形を使用して両方のマウスイベントをドロップできるようになりました。
編集2016:まだ
人気の質問、それはjQueryの1.9+でその下のコメントで@Dennis98のポイントに注目する価値があるので、 『ホバー』イベントは、「標準の賛成でdeprecatedましたmouseenter mouseleave "が呼び出されます。だからあなたのイベントのバインディング宣言は次のようになります。
$('#myElement').off('mouseenter mouseleave');
私はjQuery 1.10.2を持っていて、 '$ off("ホバー ")'は動作しません。しかし、両方のイベントを使用して素晴らしい作品。 –
複数のフィルタリング引数が指定された場合、提供されるすべての引数は、削除されるイベントハンドラと一致する必要があります。また、jQuery APIドキュメントでは、.off()メソッドを使用すると、.on()でアタッチされたイベントハンドラが削除されることにも注意してください。それが.on()を使って追加されたイベントにのみ適用されるかどうかはわかりません。しかし、それはすべきではない。 –
@AlexisWilkeええと、v1.9で削除されました。最後のリンクを参照してください。;) – Dennis98
アンバインド()ハードコードされたインラインのイベントでは動作しません。
あなたは <div id="some_div" onmouseover="do_something();">
からmouseoverイベントのバインドを解除したいのであれば、例えば、私は$('#some_div').attr('onmouseover','')
はそれを達成するために迅速かつ汚い方法であることがわかりました。
私はこれが2番目の引数(関数)として動作することを発見しました。hover()
$('#yourId').hover(
function(){
// Your code goes here
},
function(){
$(this).unbind()
}
});
最初の関数(.hover()の引数)はマウスオーバーであり、コードが実行されます。 2番目の引数は#yourIdからホバーイベントをバインド解除するmouseoutです。 コードは一度だけ実行されます。
'$ .unbind()'だけでは、このオブジェクトからすべてのイベントを削除しないのですか?この場合、 '$ .click()'イベントのようなものは今失敗するでしょう。 –
.live()で接続されたイベントの別の解決策は、.die()です。
例:
// attach click event for <a> tags
$('a').live('click', function(){});
// deattach click event from <a> tags
$('a').die('click');
あなたはここで良いrefferenceを見つけることができます:Exploring jQuery .live() and .die()
(私の英語のため申し訳ありません: ">)
をあなたは、特定のイベントハンドラを削除することができますoff
$("#ID").on ("eventName", additionalCss, handlerFunction);
// to remove the specific handler
$("#ID").off ("eventName", additionalCss, handlerFunction);
を用いて
on
によって添付されたこれを使用する
、あなただけhandlerFunction
もう一つの良い練習を削除します、複数の添付イベント
$("#ID").on ("eventName1.nameSpace", additionalCss, handlerFunction1);
$("#ID").on ("eventName2.nameSpace", additionalCss, handlerFunction2);
// ...
$("#ID").on ("eventNameN.nameSpace", additionalCss, handlerFunctionN);
// and to remove handlerFunction from 1 to N, just use this
$("#ID").off(".nameSpace");
- 1. このjQueryイベントをHTML要素のホバーにバインドするにはどうすればよいですか?
- 2. Android:サービスからAIDLバインド解除を開始するにはどうすればよいですか?
- 3. サービスインテントをバインドできないように解決するにはどうすればよいですか?
- 4. データファイルをハッシュ/ハッシュ解除するにはどうすればよいですか?
- 5. エラーを解除するにはどうすればよいですか?
- 6. jQuery AjaxはURLを複数回ロードしますが、バインド解除/再バインドを正しく行うにはどうすればよいですか?
- 7. jqueryではバインドとバインド解除の意味は何ですか?
- 8. 6ホバーを修正するにはどうすればよいですか?
- 9. jquery.scrollToプラグインのバインドを解除するにはどうすればいいですか?
- 10. Flowplayer:イベントのバインドを解除するにはどうすればいいですか?
- 11. StackPanelをViewModelにバインドするにはどうすればよいですか?私の見解では
- 12. ホバーでdivコンテンツのjquery垂直スクロールを作成するにはどうすればよいですか?
- 13. PushViewControllerを解除するにはどうすればいいですか?
- 14. Androidでキーボードのフォーカスを解除してキーボードを削除するにはどうすればよいですか?
- 15. winformsでコンボボックスを再バインドするにはどうすればよいですか?
- 16. jqueryバインドを解除してバインドする
- 17. ブートストラップタブのホバー効果を削除するにはどうすればよいですか?
- 18. Googleカスタム検索スニペットのホバーの枠線を削除するにはどうすればよいですか?
- 19. JQuery:ホバー解除せずにホバー
- 20. jQueryでid属性の設定を解除するにはどうすればいいですか?
- 21. eventをsessionStorageにバインドするにはどうすればよいですか?
- 22. メソッドインターセプタをプロバイダにバインドするにはどうすればよいですか?
- 23. SQLクエリをDataGridにバインドするにはどうすればよいですか?
- 24. イベントからイベントハンドラを削除/登録解除するにはどうすればよいですか?
- 25. このホバー効果を共有しないようにするにはどうすればよいですか?
- 26. Genericクラスをバインドするにはどうすればよいですか?
- 27. s-upにバインドするにはどうすればよいですか?
- 28. ホバー上でポップアップするにはGoogleマップポイントを変更するにはどうすればよいですか?
- 29. divでダイナミック幅を適用するにはどうすればいいですか?CSSとJavaScriptによるホバー:
- 30. JQueryでdivに適用されたCSSを削除するにはどうすればよいですか?
の名前空間を設定することで、あなたは、あなたがホバーイベントに割り当てられた機能をアンバインドしようとしていますかのホバーを変更しようとしていますか? –
Justin Niessnerさんの質問を明確にするために、Javascript/DOMイベントやCSS宣言を削除しようとしていますか?後者はより複雑な問題です。 – eyelidlessness