jquery中的自定义事件

时间:2012-06-11 08:03:15

标签: javascript jquery

我在按钮上绑定自定义事件以应用Jquery ui按钮插件,如:

      $(document).ready(function() { 
        $(".uibutton").live("CustomEvent", function() { $(this).button(); });
        $(".uibutton").trigger("CustomEvent");
      });

      <input type="button" class="uibutton" >

现在这适用于present in the MarkUP的按钮,但按钮为created dynamically class uibutton,这不起作用。有谁能告诉我为什么?

3 个答案:

答案 0 :(得分:2)

正如评论中所提到的,问题似乎是即使自动事件成功绑定,即使对于具有类uibutton的动态创建按钮,每次创建新按钮时仍然需要再次触发事件。 .ready()函数中的.trigger()只会影响当时存在的按钮。

答案 1 :(得分:1)

$(“。uibutton).trigger(”CustomEvent“);

缺少关闭引用。

它应该是这样的:

$( “UIButton的。 ”)触发器(“ 自定义事件”)。

试一试。

答案 2 :(得分:1)

我知道你提到过使用on()并且它没有发挥作用,但请确保你已经像这样使用它了:

$(document).on("click", ".uibutton", function() {
  /// My code....
});

再次测试。

问题是,您需要将此处理程序添加到document元素,这在文档中可能并不明显。只有这样,您才能像on()一样使用live()。请使用on()版本,因为后者将在某个时刻从jQuery中删除。