2

我的场景:

我有一个功能:该功能在按钮Addprocedure()上被调用。 在这个功能中,我想检查是否被点击然后做其他事情什么都不做onclickAddprocedure
btnAddSelectedProcedures

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

6 回答 6

5

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

btnClicked全局定义为false。单击时btnAddSelectedProceduresbtnClicked变为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();
});
于 2013-07-24T08:52:03.700 回答
3

尝试

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

然后

function Addprocedure(){
    if($('#btnAddSelectedProcedures').data('clicked')){
        //clicked
    } else {
        //not clicked
    }
}
于 2013-07-24T08:56:11.660 回答
2

很简单,查身份证

function Addprocedure(){
        if(this.id === 'btnAddSelectedProcedures')// Check if Button is clicked, button id = `btnAddSelectedProcedures`
           {
              //Do Something
           }
           else{
              //Do nothing
           }
    }
于 2013-07-24T08:51:46.393 回答
1

一种可能,

您可以声明 aglobal variable 并将其标记为单击truebtnAddSelectedProcedures ,并使用它来签入您的Addprocedure() 函数。

var isButton1Clicked =false;

onButton1Click{
 isButton1Clicked ==true
}


onButton2Click{
if(isButton1Clicked){
//procedd
}

}

于 2013-07-24T08:52:21.757 回答
1

我建议避免使用 global var。使用 aclass代替(或者您也可以设置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

于 2013-07-24T08:54:07.460 回答
0
<button id="1" onClick="Addprocedure(this.id)">B1</button>

进而

function Addprocedure(clicked_id)
{
    alert(clicked_id);
}
于 2013-07-24T08:52:51.670 回答