如何在jquery中捕获动态生成的按钮的单击事件

如何在jquery中捕获动态生成的按钮的单击事件,jquery,css-selectors,Jquery,Css Selectors,我看到有这样的语法来检测任何按钮点击 <script type="text/javascript"> $(document).ready(function() { $(":button").click(function(event) { alert("Thanks for visiting!" + this.value); }); }); </script>

我看到有这样的语法来检测任何按钮点击

<script type="text/javascript">
        $(document).ready(function() {
        $(":button").click(function(event) {
                alert("Thanks for visiting!" + this.value);
            });
        });
    </script>
但是,如果我只想检测页面上的某个特定按钮,该怎么办


编辑:对于刚开始设置的按钮,这似乎很好,但在我的例子中,我使用jquery动态创建它们。这些按钮似乎不符合此代码。任何想法

给输入一个ID或类,然后使用$。class:button或$ID:button

给输入一个ID或类,然后使用$。class:button或$ID:button

您需要将单击绑定到jQuery函数/事件才能工作。我还建议在动态生成的按钮上使用特殊的CSS类或id。以下是jQuery.com上对live的描述

当您绑定live事件时,它将 绑定到所有当前和未来 使用事件的页面上的元素 代表团例如,如果您绑定 实时单击以打开所有li元素 然后,页面在一个位置添加了另一个li 稍后-单击事件将 继续为新元素工作 bind的情况并非如此 必须在所有新元素上重新绑定


您需要将click绑定到jQuery函数/事件才能使其工作。我还建议在动态生成的按钮上使用特殊的CSS类或id。以下是jQuery.com上对live的描述

当您绑定live事件时,它将 绑定到所有当前和未来 使用事件的页面上的元素 代表团例如,如果您绑定 实时单击以打开所有li元素 然后,页面在一个位置添加了另一个li 稍后-单击事件将 继续为新元素工作 bind的情况并非如此 必须在所有新元素上重新绑定


使用正确的选择器识别所需的按钮 然后添加单击功能


$:按钮选择所有按钮。您希望将其限制为所需的特定设置

使用正确的选择器来识别所需的按钮 然后添加单击功能


$:按钮选择所有按钮。您希望将其限制为所需的特定集合

在前一种情况下,类中可能有多个按钮。在后一种情况下,:按钮是多余的,因为ID唯一地标识一个元素。这只是部分工作。我更新了问题,使之更加明确。在前一种情况下,类中可能有多个按钮。在后一种情况下,:按钮是多余的,因为ID唯一地标识一个元素。这只是部分工作。我更新了问题,使其更加明确。1.7 live的内容已被弃用,稍后将被删除。从1.7开始,live已弃用,稍后将被删除。
<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>