jQuery PJAX/AJAX PreventDefault () no bloquear el enlace de que se haga clic
-
27-10-2019 - |
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?
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