jQuery事件委托对我不起作用

时间:2014-04-17 22:02:53

标签: javascript jquery

我有一个.mt-input-mini

类的输入

此输入是在页面加载后通过单击其他元素生成的。

我想在此输入中附加一个事件监听器,因此我使用了on()这样:

 $('.mt-input-mini').on("click", function(event){               
            alert("Something has been done.");
        })

但这不起作用。为什么?我想alert()关于此输入的点击事件。

2 个答案:

答案 0 :(得分:1)

您正在尝试将处理程序添加到尚未存在的内容中。

事件委托涉及将处理程序添加到所做的事情,并观察容器中发生的事件:

$(document.body).on('click', '.mt-input-mini', function(event) {
  alert("Something has been done.");
});

答案 1 :(得分:0)

http://jsfiddle.net/3CP7h/你可以找到工作示例

确保您拥有:

<script type="text/javascript" src="//code.jquery.com/jquery-1.10.1.js"></script> 

在你的HTML代码的头部分

HTML

<button class='mt-input-mini'>Trigger custom event</button>

的JavaScript

 $('.mt-input-mini').on("click", function (event) {
     alert("Something has been done.");
 });