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

java - Désactivation de l'événement Jquery click()

$(document).ready(function(){
    $(".menua1").click(function(){
    //执行了点击事件的内容                    
            
    });
});
function toggleMenu(){
    var fs = window.top.document.getElementById("bframeset");
    if(条件true){
        $(".menua1_noclick").attr("class","menua1");
    }else{
        $(".menua1").attr("class","menua1_noclick");
    }
}
//HTML
<a class="menua1">A按钮</a>

Lorsque j'ai cliqué sur le bouton B et appelé toggleMenu() pour modifier la valeur de classe de l'élément, j'ai senti que l'événement de clic précédent dans ready() devrait être invalide. Lorsque j'ai appelé toggleMenu(), j'ai remplacé la valeur de classe par la valeur de classe. valeur initiale. click() devrait pouvoir s'exécuter normalement ;
Mais quelle que soit la modification de la valeur de classe de la balise a, cela n'affectera pas mon clic d'origine. Même si la valeur de classe est modifiée, je peux toujours cliquer pour entrer. le code jqeury et résolvez-le.

Mon objectif est de désactiver l'événement de clic d'origine du bouton A après avoir cliqué sur le bouton B et d'activer l'événement de clic d'origine du bouton A lorsque le bouton B est à nouveau cliqué.

En attendant en ligne, veuillez donner des conseils d'experts.

伊谢尔伦伊谢尔伦2663 Il y a quelques jours1035

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

  • 我想大声告诉你

    我想大声告诉你2017-07-05 10:56:50

    当我点击B按钮调用了toggleMenu(),将该元素的class值改变,我觉得以前ready()里面的click事件应该失效

    Tout d’abord, cette compréhension est fausse.

    Donnez-moi un exemple :

    Il y avait un homme nommé Xiao Ming. Ses parents l'appelaient Xiao Mingming, et sa femme l'appelait Da Mingming. Un jour, la main de Xiao Ming a été coupée.
    Ses parents l'ont vu et ont demandé : Xiao Mingming, qu'est-ce qui ne va pas. avec ta main ? Cassé ?小明明你手怎么弄破了?
    他老婆说: 大明明做菜的时候不小心切到了
    又回头问小明: 老公, 你的手还痛吗?
    爸/妈说: 哎, 都这么大的人了 还叫大明明干嘛? 多不好听
    老婆说: 好, 以后不叫了Sa femme a dit : Da Mingming l'a accidentellement coupé en cuisinant

    Il s'est retourné et a demandé à Xiao Ming : Mari, est-ce que ta main te fait toujours mal ?< /code> code>

    Papa/Maman a dit : Hé, pourquoi m'appelles-tu Da Mingming alors que tu es si vieux ? Ça n'a pas l'air bien

    Ma femme a dit : D'accord, je je ne t'appellerai plus Da Mingming


    Question : La main de Xiao Ming est-elle cassée ?shanghai

    Le sélecteur de jQuery est utilisé pour sélectionner des éléments par différents moyens,

    mais le

    que vous lui causez ne sera pas éliminé simplement parce que vous modifiez l'un de ses attributs.🎜 🎜 Revenons donc au sujet, l'événement click est lié à l'élément et doit être effacé🎜
    1. 如果是js绑定:
    ele.onclick = function(){...}
    //要清除的话 , 用空方法覆盖
    ele.onclick = function(){}
    
    2. jQuery on方法绑定的点击事件
    //用off解除绑定
    $ele.on("click", function(){})
    $ele.off("click", function(){})
    
    3.或者在点击事件的回调中判断状态(全局变量/flag)
    var flag = true;
    $ele.on("click", function(){
      if(flag){
      ... 
      }
    });
    function toggle(){
      flag = !flag;
    }

    répondre
    0
  • PHP中文网

    PHP中文网2017-07-05 10:56:50

    L'exemple donné ci-dessus est également intéressant. Pour faire simple, la liaison des événements n'est liée qu'à l'élément lui-même, et n'a pas grand-chose à voir avec ce que sera son nom dans le futur. C'est comme dire que votre carte d'identité vous représente en tant que personne, et puis un jour vous changez de nom, est-ce que la carte d'identité représente quelqu'un d'autre ? C'est la vérité

    répondre
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我2017-07-05 10:56:50

    $(".menua1").off('click'), ne suffirait-il pas pour dissocier le bouton de l'événement click ?

    répondre
    0
  • Annulerrépondre