jquery pjax/ajax preventdefault()リンクがクリックされるのをブロックしない

StackOverflow https://stackoverflow.com/questions/9349976

質問

入力ボックスがキーアップされていない限り、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;
    }
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top