2014-05-05 172 views
2

我想檢查一個特定的按鈕被點擊時的情況如何做到這一點?如何獲得點擊哪個按鈕?

$(document).ready(function() { 
     var prm = Sys.WebForms.PageRequestManager.getInstance(); 
     prm.add_initializeRequest(InitializeRequest); 
     prm.add_endRequest(EndRequest); 
     Search("Other"); 


    }); 

    function InitializeRequest(sender, args) { 
    } 

    function EndRequest(sender, args) { 
     alert(sender._postBackSettings.sourceElement.id) 
     var str1 = new String(sender._postBackSettings.sourceElement.id); 
     if (sender._postBackSettings.sourceElement.id == ContentPlaceHolder1_btnNew) { 
      alert("You have clicked new") 
      Search("NEW"); 
     } 

     else { 
     alert("OTHERS") 
      Search("Other"); 
      } 


    } 

回答

3

我得到了解決辦法,將其分配給一個字符串值並檢查條件是否爲字符串。

$(document).ready(function() { 
     var prm = Sys.WebForms.PageRequestManager.getInstance(); 
     prm.add_initializeRequest(InitializeRequest); 
     prm.add_endRequest(EndRequest); 
     Search("Other"); 


    }); 

    function InitializeRequest(sender, args) { 

    } 

    function EndRequest(sender, args) { 

     var str1 = new String(sender._postBackSettings.sourceElement.id); 

     if (str1 == "ContentPlaceHolder1_btnNew") {     
      alert("You have clicked new") 
     } 

     else { 
      alert("You have clicked others") 
     } 

    } 
+0

這正是我正在尋找的 - 謝謝! – Jeff

0

試試這個代碼:

$(document).ready(function() { 

    $("#btnSubmit").click(function(){ 
     // Call here that function which you want to call 
    }); 
}); 

閱讀此鏈接:http://api.jquery.com/click/

+0

我想這下,這是行不通的EndRequest功能。@庫馬爾馬尼什 – sona

+0

你怎麼調用EndRequest功能,該功能下,你可以註冊單擊事件,像這樣$(「#btnSubmit按鈕」)。點擊(function(){ //在這裏調用你想調用的函數 }); –

+0

是的,但是當我在click事件下發出警報時,它不顯示警報消息。@ Kumar Manish – sona

0

如果你有充足的按鈕,給他們一個相同的類名。例如:class =「myButton」 有關特定按鈕的信息可以保存在其屬性中。例如:OBJECTID =「12345」,那麼你的代碼可以來如下:

$(".myButton").click(function(){ 
     console.log($(this)); // this gives you the DOM Object of the button which is clicked 
     // now to get the attribute of the button i.e objectId you can do this 
     $(this).attr("objectId"); 
     /* Depending on this you can handle your condition */ 
    }); 

如果正在動態創建你的按鈕,你可以使用這個

$(".myButton").live('click', function(){ 
      console.log($(this)); // this gives you the DOM Object of the button which is clicked 
      // now to get the attribute of the button i.e objectId you can do this 
      $(this).attr("objectId"); 
      /* Depending on this you can handle your condition */ 
     }); 

現場已被棄用的版本上面jQuery的1.7。 2。

您可以使用「on」代替它。