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

听起来你只需要重新安排活动。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 回答
0

听起来您只是在第一次加载页面时才添加点击事件。如果您随后动态添加 HTML(带有分页),那么您需要将点击事件重新添加到这些新对象。

于 2012-09-27T19:59:18.747 回答
0

原来我只需要在视图上关闭 AJAX。很抱歉让事情变得过于复杂,但感谢您的所有帮助!

于 2012-09-28T01:31:51.063 回答