2013-07-24 73 views
2

我之情況:如何檢查按鈕被點擊的功能裏面

我有一個函數: 功能Addprocedure()上稱爲Addprocedure按鈕onclick
在這個功能我要檢查,如果點擊btnAddSelectedProcedures然後去做別的事情什麼都不做

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

定義'檢查button'意義。 –

+0

U有多個按鈕調用此回調? – DarkBee

+0

爲什麼檢查這個函數是否只能通過點擊按鈕來觸發?那麼你會檢查一直是真的東西? –

回答

3

嘗試

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

然後

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

好的邏輯保存數據,如果點擊..好的...比你好 –

2

它操作簡單,查身份證

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

最簡單的解決方案...只需檢查編號 –

5

保存按鈕的狀態的變量。

定義全局爲false。點擊btnAddSelectedProcedures時,將更改爲true。當您致電Addprocedure時,請檢查變量是否爲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(); 
}); 
+0

你的解決方案也不錯.. –

+0

你敢打賭! :) – Jared

+0

添加示例代碼。 – Jared

1

一個方法可行,

可以聲明一個global variable並將其標記爲true當你點擊btnAddSelectedProcedures和使用,在您的Addprocedure()功能檢查。

var isButton1Clicked =false; 

onButton1Click{ 
isButton1Clicked ==true 
} 


onButton2Click{ 
if(isButton1Clicked){ 
//procedd 
} 

}

+0

全局變量可能是一個不好的方法,特別是對於非專家用戶 – steo

+0

@ steo這是一種可能性,但它不是邪惡的。 –

+0

當我開始使用jQuery/JavaScript並嘗試使用這樣的腳本時,全局變量總是把我所有的工作搞砸了,這給我帶來了很多麻煩和誤解。順便說一句,是的,是一種方法, – steo

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

然後

function Addprocedure(clicked_id) 
{ 
    alert(clicked_id); 
} 
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

+0

不錯的主意...... –

+0

這些確保您的安全。如果你使用全局變量,你會遇到很多麻煩。我以前也使用gloabl變量,並且爲了使用類,我投入了很多時間 – steo

+0

-1。如果你真的想保存按鈕的狀態,我會使用數據屬性(就像另一個答案建議)。類應該保留造型。 – Jared

相關問題