Pregunta

Me gustaría evitar que PJAX haga clic en un enlace a menos que se conecte un cuadro de entrada.

Aquí está el código:

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

Mi problema es que a pesar de la condición que se determina correctamente, PJAX todavía carga la página independientemente del preventDefault().

¿Alguna idea sobre por qué esto no funciona?

¿Fue útil?

Solución

Parece que la función PJAX siempre disparará con la configuración que tiene en su lugar.

Sin embargo, lo siguiente debería funcionar:

$(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;
    }
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top