2012-02-19 90 views
2

我想阻止PJAX點擊一個鏈接,除非輸入框被鎖定。jquery PJAX/AJAX preventDefault()不阻止鏈接被點擊

下面的代碼:

$('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()的。

任何想法,爲什麼這不工作?

回答

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; 
    } 
}); 
+0

喜dazbradbury,是這個作品!謝謝! – 2012-02-21 06:48:55

+0

很好的答案! :) – 2014-05-21 12:59:54