尝试在'pjax:popstate'上设置事件'click' - 不工作

时间:2013-02-22 07:10:32

标签: javascript jquery pjax

Pjax的小例子:http://indapublic.ru/pjax/

function handler 设置事件点击“Test Link”并在Javascript控制台中输出“handler”。

function handler() {
    console.log('handler');
    // console.log($('#testLink'));

    $('#testLink').click(function(event) {
        event.preventDefault();
        console.log('click');
    })
}

函数处理程序 pjax:success pjax:popstate 事件上执行。

$(document).on('pjax:success pjax:popstate', function() {
    handler();
});

直接加载或通过Pjax尝试单击“测试链接”。它将在Javascript控制台上输出“click”。但如果你带回“返回”按钮 - 将执行函数处理程序,但点击“测试链接”不起作用。

为什么?

1 个答案:

答案 0 :(得分:1)

尝试使用事件委托,将其保留在处理程序方法

之外
$(function(){
    $('body').on('click', '#testLink', function(event) {
            event.preventDefault();
            console.log('click');
    })
});