在函数内单击如何检查按钮

时间:2013-07-24 08:49:38

标签: javascript jquery

我的场景:

我有一个功能: 在Addprocedure()按钮onclick上调用Addprocedure函数 在此功能中,我想检查是否单击btnAddSelectedProcedures然后执行其他操作

 function Addprocedure(){
        if()// Check if Button is clicked, button id = `btnAddSelectedProcedures`
           {
              //Do Something
           }
           else{
              //Do nothing
           }
    }

6 个答案:

答案 0 :(得分:5)

将按钮的状态保存在变量中。

btnClicked全局定义为false。点击btnAddSelectedProcedures后,将btnClicked更改为true。当您致电Addprocedure时,请检查btnClicked变量是否为true,如果是,则单击该按钮。

示例:

var btnClicked = false;

function Addprocedure() {
    if (btnClicked) {
        //Do something...
    } else {
        //Do something else...
    }
}

$('BUTTON[name="btnAddSelectedProcedures"]').click(function() {
    btnClicked = true;
});

$('BUTTON[name="Addprocedure"]').click(function() {
    Addprocedure();
});

答案 1 :(得分:3)

尝试

$('#btnAddSelectedProcedures').click(function(){
    $(this).data('clicked', true)
})

然后

function Addprocedure(){
    if($('#btnAddSelectedProcedures').data('clicked')){
        //clicked
    } else {
        //not clicked
    }
}

答案 2 :(得分:2)

很简单,查看ID

function Addprocedure(){
        if(this.id === 'btnAddSelectedProcedures')// Check if Button is clicked, button id = `btnAddSelectedProcedures`
           {
              //Do Something
           }
           else{
              //Do nothing
           }
    }

答案 3 :(得分:1)

一种可能性,

您可以在global variable点击后声明true并将其标记为btnAddSelectedProcedures,然后使用它来检查Addprocedure()功能。

var isButton1Clicked =false;

onButton1Click{
 isButton1Clicked ==true
}


onButton2Click{
if(isButton1Clicked){
//procedd
}

}

答案 4 :(得分:1)

我建议避免使用全局var。改为使用class(或者您也可以设置data-*属性)

$('#btnAddSelectedProcedures').on('click', function(){
 //$(this).toggleClass('clicked');

 if(! $(this).hasClass('clicked') ){ //allows you to set only once the class
   $(this).addClass('clicked'); 
 }
Addprocedure();
});

然后

function Addprocedure(){
    if( $("#btnAddSelectedProcedures").hasClass('clicked') ) //I guess you can call $(this) too
       {
          //Do Something
       }
       else{
          //Do nothing
       }
}

我使用了toggleClass,因为我认为您每次都会检查用户是否点击过。 以另一种方式使用addClass

答案 5 :(得分:0)

<button id="1" onClick="Addprocedure(this.id)">B1</button>

然后

function Addprocedure(clicked_id)
{
    alert(clicked_id);
}