jQuery を使用した可視性の変更の検出
動的コンテンツを操作する場合、特定の要素の可視性に基づいてアクションを実行する必要があります。 jQuery は、div が表示されたときにトリガーするイベント ハンドラーをアタッチする方法を提供します。
解決策:
これを実現するには、既存の jQuery .show() を拡張します。可視性の変更前後のメソッドとトリガー イベント。カスタム拡張コード スニペットは次のとおりです:
jQuery(function($) { var _oldShow = $.fn.show; $.fn.show = function(speed, oldCallback) { return $(this).each(function() { var obj = $(this), newCallback = function() { if ($.isFunction(oldCallback)) { oldCallback.apply(obj); } obj.trigger('afterShow'); }; // Trigger beforeShow event obj.trigger('beforeShow'); // Call the original show method with the new callback _oldShow.apply(obj, [speed, newCallback]); }); } });
使用法:
拡張 .show() メソッドを使用するには、イベントを beforeShow トリガーと afterShow トリガーにバインドできます。 。例:
jQuery(function($) { $('#test') .bind('beforeShow', function() { alert('beforeShow'); }) .bind('afterShow', function() { alert('afterShow'); }) .show(1000, function() { alert('in show callback'); }) .show(); });
このコードは、ID テストを持つ div が表示または非表示になったときに beforeShow および afterShow イベントをトリガーし、可視性の変更に基づいてカスタム コードを実行できるようにします。
以上がjQuery の要素の可視性の変更をどのように検出しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。