Récemment, dans le projet, vous devez donner dynamiquement les événements de liaison des éléments à JS. Vous ne les avez pas utilisés auparavant. Au fait, vous pouvez en apprendre davantage. Vous recherchez donc les événements sur Google et avez écrit les deux événements suivants, l'un ajoute des événements et l'autre est de supprimer les événements.
/ addEventListener (), reposeventListener () est utilisé pour gérer les opérations de spécification et de suppression des gestionnaires d'événements // Scope: le gestionnaire d'événements s'exécutera dans le cadre de son élément. // addEventListener (événement, fonction, capture / bulle); retireEventListener (événement, fonction, capture / bulle) // L'événement de paramètre est illustré dans la table ci-dessus. La fonction est la fonction à exécuter. La capture et la bulle sont deux modes de temps formulés par W3C. // Simplely, Capture est de lire la dernière ligne du début du document, puis d'exécuter l'événement. Bubble trouve d'abord la position spécifiée puis exécute l'événement. // Les paramètres de capture / bulle sont des valeurs booléennes, le vrai moyen d'utiliser la capture, false est la fonction bulle addEvent () {var obj = document.getElementById ("txtiatacity"); if (window.addeventListener) {// codes d'événements pour d'autres navigateurs: Mozilla, netscape, firefox // L'ordre des événements ajoutés est l'ordre d'exécution // note que ajouter des événements avec sur AddEventListener, sans ajouter sur obj.addeventListener ('focus', function () {test ('aa')}, faux); } else {// Le code d'événement de IE ajoute la méthode ADD obj.attachevent ('onfocus', function () {test ('aa')}); }} fonction reousingEvNent () {var obj = document.getElementById ("txtiatacity"); if (window.reMoveEventListener) {obj.reMoveEventListener ('focus', function () {test ('aa')}, false); } else {obj.detachevent ('onfocus', function () {test ('aa')}); }}Lorsque la page est chargée, la méthode ci-dessus est appelée à l'événement de liaison d'entrée. Le test est ajouté avec succès, mais l'élimination ne réussit jamais. J'ai donc recherché des documents de référence en ligne
// Les événements ajoutés via addEventListener () ne peuvent être supprimés que par retireEventListener (). C'est fait. Il y a une autre phrase ci-dessous: // La fonction anonyme ajoutée par AddeventListener () lors de la suppression ne sera pas supprimée. Le problème a été trouvé. Function () {test ('aa')} // invalide, car les méthodes passées dans AdVEventListener () et la devingEventListener () ne sont pas la même méthode, donc le test ('aa') est proposé et écrit comme fonction test (msg) {alert (msg)} est relevé pour fonctionner addevent () {var obj = document.getElementById ("txtiade"); if (window.addeventListener) {// codes d'événements pour d'autres navigateurs: mozilla, netscape, firefox // L'ordre des événements ajoutés est l'ordre d'exécution // note qui ajoute des événements avec sur AddEventListener, sans ajouter sur obj.addeventListener ('focus', test ('msg')}, false); } else {// Le code d'événement de IE ajoute la méthode ADD obj.attachevent ('onfocus', test ('msg')}); }} fonction reousingEvNent () {var obj = document.getElementById ("txtiatacity"); if (window.reMoveEventListener) {obj.reMoveEventListener ('focus', test ('msg')}, false); } else {obj.detachevent ('onfocus', test ('msg')); }}Ainsi, l'invite de l'exécution IE: le non-match de type ne semble pas prendre en charge les fonctions avec des paramètres, donc la fonction est à nouveau encapsulée dans une forme sans paramètre.
Exécution, addition a réussi, le retrait ou la défaillance. Après avoir cherché en ligne pendant longtemps, j'ai presque écrit de cette façon et cela a réussi. Je ne sais pas pourquoi je ne pouvais pas supprimer le mien.
Plus tard, j'ai vu que jQuery a été initialement référencé sur la page, j'ai donc utilisé les événements de liaison et de vent de jQuery pour réussir.
Hélas, résolvons ce problème lorsque le projet est terminé.
La méthode d'implémentation dynamique JS ci-dessus pour ajouter et supprimer des événements aux éléments est tout le contenu que je partage avec vous. J'espère que vous pourrez vous faire référence et j'espère que vous pourrez soutenir Wulin.com plus.