jquery PJAX/AJAX PreventDefault() 不阻止链接被单击

标签 jquery keyboard-events preventdefault pjax

我想阻止 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() 是什么。

对于为什么这不起作用有什么想法吗?

最佳答案

看起来 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;
    }
});

关于jquery PJAX/AJAX PreventDefault() 不阻止链接被单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9349976/

相关文章:

jquery - 在 jQuery 中重写 if-else block

jquery .css 效果不适用于 firefox

javascript - 如何修复弹出 iframe 以避免相同的域策略?

javascript - 向 EXT JS 应用程序搜索文本框添加了一个输入事件以触发搜索

javascript - 无法阻止 mac 上最新 Chrome 版本 (59) 中的导航手势

javascript - 表单仍然提交,尝试使用 e.preventDefault();

javascript - 将数据属性添加到元素并从字符串动态添加值

python - 在按键按下事件上多次调用 on_press 回调

windows - Cocos2d-x键盘实现

javascript - event.preventDefault() 不工作