jquery动态元素绑定事件

摘自:http://blog.csdn.net/zhuyong0722/article/details/8590815

四、on()方法

.on( events [, selector ] [, data ], handler(eventObject) )

这是jQuery官方给出的Api, 其实在最新版本的jQuery类库中,所有以上方法在后面其实都是调用on()方法,所以,如果你开发最新版本的jQuery,完全可以使用on()方法来处理所有的事件绑定,避免过多的方法调用。如下: $('.scv').on('click', function(){
    $(this).clone(true).appendTo('#container');

});

如果要保证你动态添加的东西可以绑定上handler,那么$("selector").on()中的selector应该是更高的级别,父div,body或者document等。

五、总结
总的来说,最新的jQuery版本中,所有的方法基本最后都使用on()方法来处理,如果你针对新版本的jQuery做开发,大家可以考虑使用delegate()和on()方法处理事件绑定,虽然以前方法也可以用,但是大都都已经退出历史舞台。

ps:

例子1(支持ipad):

var startEvent = 'vmousedown';
var imgSwit = document.createElement('img');
imgSwit.id = "imgSwit";
imgSwit.src = "Media/switch.png";
imgSwit.setAttribute("style", "width:58px;display:inline;float:left;position:absolute;");
divPlay.on(startEvent, "#imgSwit", function () {
    <span style="font-family:宋体;">alert("abc")</span>;
});
divPlay[0].appendChild(imgSwit);
例子2:

参考:http://www.111cn.net/wy/jquery/62279.htm

<!-- 比如下面这段代码是通过js添加,而不是默认就有的 -->
<div class="del_this"></div>
//点击删除该对象
$(document).on("click",".del_this",function(){
 $(this).remove();
})



你可能感兴趣的:(JavaScript,事件,on,ipad,动态元素)