jquery PJAX / AJAX preventDefault () lien ne bloque pas d'être cliqué
-
27-10-2019 - |
Question
Je voudrais éviter en cliquant PJAX d'un lien à moins qu'une zone de saisie est survolté.
Voici le code:
$('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();
}
});
Mon problème est que, malgré la condition étant déterminée correctement, PJAX encore charge la page quel que soit le preventDefault()
.
Toute réflexion sur pourquoi cela ne fonctionne pas?
La solution
Il semble que la fonction pjax sera toujours le feu avec le set-up que vous avez mis en place.
Cependant, ce qui suit devrait fonctionner:
$(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;
}
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow