0

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

函数处理程序设置事件单击“测试链接”并在 Javascript 控制台中输出“处理程序”。

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 控制台上输出“点击”。但是,如果您使用“返回”按钮返回 - 函数处理程序将被执行,但单击“测试链接”不起作用。

为什么?

4

1 回答 1

1

尝试使用事件委托,将其排除在处理程序方法之外

$(function(){
    $('body').on('click', '#testLink', function(event) {
            event.preventDefault();
            console.log('click');
    })
});
于 2013-03-20T04:00:04.390 回答