如何在Javascript中单击两个不同的按钮后触发事件

时间:2014-05-01 19:44:27

标签: javascript html button javascript-events addeventlistener

我想知道如何在点击两个不同的按钮后触发事件。具体来说,我有一些具有不同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");

      }

1 个答案:

答案 0 :(得分:0)

只要点击您想要的按钮,就可以传递某种值。例如:

 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并触发您想要的任何内容。