Fancybox での動的要素バインディングの解決
Fancybox は、モーダル ウィンドウの作成に使用される人気のある JavaScript ライブラリです。ただし、要素がページに動的に追加されると、Fancybox は要素へのバインドに失敗することがよくあります。これは開発者にとってイライラする問題となる可能性があります。
この問題に対処するには、次の手順を実行できます:
-
jQuery v1.7.x 以降を使用します。 jQuery バージョン 1.7.x 以降には、動的に追加されたファイルの処理を改善する機能強化が含まれています。
-
jQuery の on() メソッドを使用します: jQuery の on() メソッドを focusin イベントとともに使用して、Fancybox を動的要素にバインドします。たとえば、動的に追加された要素のクラスが「ajaxFancyBox」の場合、次のコードは Fancybox を要素にバインドします:
$("#container").on("focusin", function() {
$("a.ajaxFancyBox").fancybox({
// Fancybox options go here
});
});
ログイン後にコピー
-
Configure Fancybox Options: 内$.fancybox() メソッドを使用すると、パディング、幅、高さ、タイプなど、Fancybox のさまざまなオプションを設定できます。
-
さまざまなコンテンツ タイプの処理: タイプごとに個別の Fancybox インスタンスを作成することで、さまざまなタイプのコンテンツを処理できます。たとえば、あるインスタンスで画像を処理し、別のインスタンスでインライン コンテンツを処理できます。
-
Chrome に tabindex 属性を追加します: Chrome で適切な機能を確保するには、すべてのインスタンスに tabindex="1" 属性を追加します。
これらの手順に従うことで、動的に追加された要素を Fancybox に正常にバインドでき、モーダル ウィンドウが可能になります。期待どおりに開きます。
以上が動的に追加された要素に Fancybox をバインドするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。