Maison >interface Web >js tutoriel >Pourquoi « event.preventDefault() » ne fonctionne-t-il pas dans IE et comment puis-je y remédier ?

Pourquoi « event.preventDefault() » ne fonctionne-t-il pas dans IE et comment puis-je y remédier ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-01 03:12:11143parcourir

Why Doesn't `event.preventDefault()` Work in IE, and How Can I Fix It?

event.preventDefault() Fonction non fonctionnelle dans IE : une solution

Le code JavaScript fourni rencontre un problème spécifiquement dans Internet Explorer (IE ). Bien que la méthode event.preventDefault() fonctionne efficacement dans d'autres navigateurs comme Firefox, elle provoque une erreur dans IE. Cette erreur provient de l'absence de la méthode PreventDefault dans l'objet événement dans IE.

Le correctif

Pour remédier à cette disparité, IE utilise une approche alternative :

event.returnValue = false;

Cette méthode empêche efficacement la soumission du formulaire dans IE.

Assurer la compatibilité

Pour garantir la compatibilité entre tous les navigateurs , le code suivant peut être employé :

if(event.preventDefault) event.preventDefault();

Solution complète

Pour combiner les deux approches et garantir une fonctionnalité transparente dans tous les navigateurs, le code suivant peut être utilisé :

event.preventDefault ? event.preventDefault() : (event.returnValue = false);

En incorporant cette solution dans le code JavaScript fourni, l'erreur dans IE sera résolue et la soumission du formulaire sera empêchée comme prévu dans tous les navigateurs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn