Domanda

Vorrei impedire il clic di PJAX di un collegamento a meno che non sia una casella di input.

Ecco il codice:

$('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();                                                 
   }
}); 

Il mio problema è che nonostante la condizione sia stata determinata correttamente, Pjax carica ancora la pagina indipendentemente dal preventDefault().

Qualche idea sul perché non funziona?

È stato utile?

Soluzione

Sembra che la funzione PJAX sparerà sempre con la configurazione che hai in atto.

Tuttavia, quanto segue dovrebbe funzionare:

$(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;
    }
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top