【问题标题】:How to trigger an event after clicking two different button in Javascript单击Javascript中的两个不同按钮后如何触发事件
【发布时间】:2014-05-01 19:44:27
【问题描述】:

我想知道如何在单击两个不同的按钮后触发事件。具体来说,我有一些具有不同 id 的按钮,当我单击它们中的两个特定按钮以触发事件时,我想要。我认为这可能会发生如果我在第一个点击事件中调用某个函数,并且在这个函数内部,如果第二个按钮被点击,我可以调用另一个函数。它似乎不起作用,所以我需要你的帮助。 (如果有人需要更多代码,请评论上传整个代码)

     function someKindOfFunction(){  
         //there is some other code here

         var ob = document.getElementById(idTable[0]); 
         var ob1 = document.getElementById(idTable[1]); 
         var ob2 = document.getElementById(idTable[2]); 
         var ob3 = document.getElementById(idTable[3]); 


         ob.addEventListener("click",function() {onCl1(idTable[0],idTable)});
         ob1.addEventListener("click",function() {onCl1(idTable[1],idTable)});
         ob2.addEventListener("click",function() {onCl1(idTable[2],idTable)});
         ob3.addEventListener("click",function() {onCl1(idTable[3],idTable)});


    }
    
    function onCl1(id1,idTable){
        var obj1 = document.getElementById(id1);
        obj1.disabled=true;
        var obj2,v,obj3,obj4;
        v=0;
        var temp = ["0","0","0"];
        for(var i =0 ; i<4 ; i++){
          if( id1 != idTable[i]){
            temp[v] = idTable[i];
            v=v+1;
          }
        }
        ob=document.getElementById(temp[0]);
        ob1=document.getElementById(temp[1]);
        ob2=document.getElementById(temp[2]);

        ob.addEventListener("click",function() {onCl2(id1,temp[0])});
        ob1.addEventListener("click",function() {onCl2(id1,temp[1])});
        ob2.addEventListener("click",function() {onCl2(id1,temp[2])});
        
        
      }
      
      function onCl2(id1,id2){
          //some kind of actions
          alert("it wokrs");

      }

【问题讨论】:

    标签: javascript html button dom-events addeventlistener


    【解决方案1】:

    只要单击您想要的按钮,只需传递某种值。例如:

     ob.addEventListener("click",function() {onCl1(1)});
     ob1.addEventListener("click",function() {onCl1(1)});
      var i;   
    function onCl1(value){
    i += value;
    if(i == 2){
    //do this
       }
    }
    

    所以基本上一旦这两个按钮被点击,值将等于 2 并触发你想要的任何东西。

    【讨论】:

    • 它正在工作但只是第一次。你知道它为什么这样做吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-03
    • 2011-11-30
    • 2014-08-08
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 2012-01-19
    相关资源
    最近更新 更多