c'est mon ancre que j'utilise dans la pagination CodeIgnitor.
e.preventDefault is not a function
maintenant c'est la définition de la fonction en Javascript
e.preventDefault()
Maintenant e est une ancre qui est affichée dans la console. mais quand j'essaye
function myFunction(e){
console.log(e);
e.preventDefault()
}
cela me donne cette erreur.
<a href="http://perfex_crm.ng/clients/get_front_page_jobs/2" onclick="myFunction(this)" data-ci-pagination-page="2">2</a>
et évidemment la page est redirigée, ce qui est le problème original que je veux résoudre. je ne veux pas qu'il redirige.
3 Réponses :
Depuis que vous avez écrit onclick = "myFunction (this)" , vous passez this comme argument, où this est votre Élément .
Essayez plutôt de transmettre l ' événement : onclick="myFunction(event)"
@xkrlaix, heureux de vous aider. Je vous recommande également de suivre les conseils de Quentin.
Vous transmettez la valeur de this qui est l’objet élément , pas l’objet événement.
Vous pouvez passer événement à la place, mais vous devriez vraiment éviter d'utiliser des attributs d'événement intrinsèques (qui ont un tas de pièges) et passer à addEventListener.
const links = document.querySelector('[data-ci-pagination-page]');
for (let i = 0; i < links.length; i++) {
links[i].addEventListener(myFunction);
}
Monsieur pour le moment, mon code fonctionne mais pour référence future, j'utiliserai vos conseils. maintenant j'utilise ce code. comment puis-je passer 2 paramètres? code function maFonction (e, a) {console.log (e); e.preventDefault (); var pageno = $ (a) .attr ('data-ci-pagination-page'); }
cela semble fonctionner comme un charme:
<a href="http://perfex_crm.ng/clients/get_front_page_jobs/2" onclick="myFunction(event)" data-ci-pagination-page="2">2</a>
function myFunction(event){
event.preventDefault();
}