recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - js annule la liaison d'événement

J'ai utilisé addEvent pour lier des événements de clic plusieurs fois à un élément. Existe-t-il un moyen d'annuler tous les événements liés en même temps ?

黄舟黄舟2825 Il y a quelques jours663

répondre à tous(3)je répondrai

  • 为情所困

    为情所困2017-05-19 10:44:35

    supprimer l'événement

    répondre
    0
  • ringa_lee

    ringa_lee2017-05-19 10:44:35

    Non, vous ne pouvez supprimer les liaisons qu'une par une. Le niveau DOM2 est removeEventListener et IE est attachEvent. removeEventListener,IE中的是attachEvent
    匿名函数是不可以被解绑的,所以只能解除具名函数。

    JQuery中有一种方法可以一下移除所有事件处理函数:

        <input type="button" id="btn" value="Click Me!" name="">
        <input type="button" value="删除所有事件" id="delAll" name="">
        <p id="test">
            
        </p>
    
        $(function(){
            $("#btn").bind("click",function(){
                $("#test").append("<p>我的绑定函数1</p>");
            }).bind("click",function(){
                $("#test").append("<p>我的绑定函数2</p>");
            }).bind("click",function(){
                $("#test").append("<p>我的绑定函数3</p>");
            });
            $("#delAll").bind("click",function(){
                $("#btn").unbind("click");
            })
        })

    在JQ中,unbindLes fonctions anonymes ne peuvent pas être dissociées, donc seules les fonctions nommées peuvent être dissociées.

      Il existe une méthode dans JQuery pour supprimer tous les gestionnaires d'événements à la fois :
    1. rrreee

      En JQ, unbind peut être utilisé pour dissocier toutes les liaisons :

    2. S'il n'y a aucun paramètre, supprimez tous les événements liés.

    3. Si un type d'événement est fourni, seuls les événements liés de ce type seront supprimés.

    Si la fonction de traitement passée lors de la liaison est utilisée comme deuxième paramètre, seule cette fonction sera supprimée.

    🎜 🎜================================================= === =========🎜C'est la seule méthode à laquelle je peux penser pour l'instant, j'espère qu'elle aide ! 🎜

    répondre
    0
  • 世界只因有你

    世界只因有你2017-05-19 10:44:35

    element.addEventListener("mouseover", myFunction Événement de liaison

    );

    element.removeEventListener("mousemove", myFunction Supprimer l'événement lié

    );

    Solution compatible avec tous les navigateurs

    var x = document.getElementById("myBtn");
    if (x.addEventListener) { // Tous les principaux navigateurs, sauf IE 8 et versions antérieures

    x.addEventListener("click", myFunction);

    } else if (x.attachEvent) { // IE 8 et versions antérieures

    x.attachEvent("onclick", myFunction);

    }

    répondre
    0
  • Annulerrépondre