2

我想阻止 PJAX 点击链接,除非输入框被键入。

这是代码:

$('a.pjax').pjax({container: '#main_content'}).live('click', function(event){ 
   if(keyed){ 
        console.log('yes, you typed');
   }
   else if(keyed==false){
        console.log('no, please type something');
        event.preventDefault();                                                 
   }
}); 

我的问题是,尽管条件被正确确定,PJAX 仍然会加载页面,而不管preventDefault().

关于为什么这不起作用的任何想法?

4

1 回答 1

3

似乎 pjax 功能将始终随着您的设置而触发。

但是,以下应该有效:

$(document).on('click', 'a.pjax', function (event) {
    if (keyed) {
        console.log('yes, you typed');
        return $.pjax.click(event, '#main_content');
    }
    else {
        console.log('no, please type something');
        return false;
    }
});
于 2012-02-21T04:53:13.900 回答