will_paginate分页链接javascript无法正常工作

时间:2015-10-12 05:48:27

标签: javascript jquery ruby-on-rails will-paginate

我有一个简单的jQuery脚本,当我第一次使用will_paginate gem在rails中加载页面时(例如第1页),在悬停时播放/暂停视频正常工作。

我的问题是,当我点击下一页或特别是任何其他页面时,jQuery脚本无效,但当我查看页面源时,javascript代码仍然存在。

我必须重新加载页面才能让它发挥作用吗?

var figure = $(".video").hover( hoverVideo, hideVideo);
//video is a div class that my videos use, this is at index.html.erb 
function hoverVideo(e) {
    $('video',this).get(0).play();
}

function hideVideo(e) {
    $('video',this).get(0).pause();
}

1 个答案:

答案 0 :(得分:1)

您的问题是,当您的页面被更改时,我相信该页面会使用ajax刷新,并且新创建的元素没有附加任何事件。最简单的解决方案是:

$(document).on('mouseenter','.video', hoverVideo ).on('mouseleave','.video',hideVideo );

这样jquery将始终调用mouseenter / mouseleave函数,但只在元素指定了类.video时触发函数。因此,您不必再担心新创建的元素是否附加了任何事件,或者没有