2009-12-17 71 views
1

的單擊事件我看到有這樣的語法來檢測任何按鈕點擊如何捕捉動態生成按鈕的jQuery中

<script type="text/javascript"> 
     $(document).ready(function() { 
     $(":button").click(function(event) { 
       alert("Thanks for visiting!" + this.value); 
      }); 
     }); 
    </script> 

但是如果我想,只能檢測到頁面上的特定按鈕是什麼?

編輯:這似乎很好的按鈕,在開始安裝,但在我的情況下,我用jQuery動態創建它們。它看起來這些按鈕不打這個代碼。任何想法

回答

5

您需要綁定「點擊」了jQuery「live」功能/事件爲工作。我還建議在動態生成的按鈕上使用特殊的CSS類或ID。以下是即使從jQuery.com直播的描述。

當您綁定將 綁定到頁面上的所有當前和未來 元素(使用事件 代表團),一個「活」事件。例如,如果您綁定了 ,則直接點擊 上的所有「li」元素,然後該頁面在稍後時間在 處添加另一個li - 該點擊事件將 繼續爲新元素 工作(綁定的情況並非如此其中 必須重新綁定所有新元素)。

<script type="text/javascript"> 
    $(document).ready(function() { 
     //$(":button") would select all buttons 
     //.className would work on an button with a CSS Class assignment of ClassName 
     //Below shows how to do it on a specific ID 
     $("#MyNewButtonID").live("click", function(event) { 
     alert("Thanks for visiting!" + this.value); 
     }); 
    }); 
</script> 
+0

從1.7開始,已棄用,稍後刪除。 http://api.jquery.com/category/deprecated/deprecated-1.7/ – 2013-05-16 12:49:34

0

給輸入ID或類,然後使用$(".class:button")$("#id:button")

+1

在前一種情況下,可能會有多個按鈕與類。在後一種情況下,由於ID唯一標識一個元素,因此:按鈕是多餘的。 – Rich 2009-12-17 23:09:11

+0

這只是部分工作。我更新了這個問題,以便更加明確 – leora 2009-12-17 23:14:23

0

使用了正確的選擇,以確定你想要的按鈕(http://docs.jquery.com/Selectors) 然後點擊添加功能。

$(「:button」)選擇所有按鈕。你想限制到你需要的特定集合