0

ページ ビューの要素に影響を与える次の jQuery を実行しています。

$(document).ready(function($){                    
    $(".views-field-field-video").click(function() {
        $(this).parent().find("a.cboxElement").click();
    }); 
});

コードは完全に機能しますが、最初のページのみです。下部にあるページャーを使用して他のページに移動すると、スクリプトが機能しません。その後、最初のページに戻ると、スクリプトも失敗します。

ただし、ページをリロードすると、最初のページに戻り、スクリプトが再び機能します。

.js ファイルをリンクしており、次<head> </head>を使用してタグ間にリンクし<script type="text/javascript" src="http://source_to_file"></script>ています。ロード中です。Web 開発者ツールで確認できます。

編集:スクリプトで選択しているクラスは、すべてのページで同じままです。

4

3 に答える 3

0

ページが最初にロードされたときにのみクリックイベントを追加しているようです。次に HTML を動的に (ページネーションを使用して) 追加する場合は、それらの新しいオブジェクトにクリック イベントを再度追加する必要があります。

于 2012-09-27T19:59:18.747 に答える
0

ビューでAJAXをオフにするだけでよいことがわかりました。ややこしい話で申し訳ありませんが、どうぞよろしくお願いいたします!

于 2012-09-28T01:31:51.063 に答える
0

イベントを再度アタッチする必要があるようです。Drupal は、JavaScript でそれを正しく行う優れた方法を提供します。

Drupal.attachBehaviors('.behavior_class');

ただし、ビヘイビアにコンテキストが渡されていない場合、これは多くの頭痛の種になります。

drupal 6 の場合、コードがラップされていることを確認してください。

Drupal.behaviors.clikfocus_map = function (context) {

drupal 7 の場合:

(function ($) {
  Drupal.behaviors.ajax_example = {
    attach:function (context) {
    }
  }
})(jQuery);

そしてあなたのセレクターはすべて持っているべきです

$('.myselector', context');
于 2012-09-27T21:03:56.610 に答える