jquey中的事件绑定
2024-08-31 06:20:51
三种方法:
$(selector).live(events, data, handler); // jQuery 1.3+
$(document).delegate(selector, events, data, handler); // jQuery 1.4.3+
$(document).on(events, selector, data, handler); // jQuery 1.7+
以上三种方法,data都是可选项;events参数可以为空格分开的list;
.live()不推荐使用,因为:1.(selector).live(),当文档很大时,selector耗时很严重
2.不支持方法链(important)
3.所有.live()事件都绑定在document上,处理之前经过的路径太长;
4.iOS上的click事件,对大多元素不支持冒泡到document,如果不用如下解决方法的话,click事件不能使用:
1)使用可单击元素如<a> <button>,因为这两个支持冒泡至document对象;
2)针对比document.body更低级别的元素使用.on()或.delegate();
3)针对需要冒泡click的元素运用CSS样式cursor:pointer;
使用.live()绑定多个事件,如下:
$("p").live({
click: function() {
$(this).after("<p>Another paragraph!</p>");
},
mouseover: function() {
$(this).addClass("over");
},
mouseout: function() {
$(this).removeClass("over");
}
});
最新文章
- 剑指Offer-【面试题07:两个栈实现队列】
- synthesize 与dynamic的区别
- laravel5.1学习(1)--安装
- javax.crypto.BadPaddingException: Given final block not properly padded
- c# 百度api语音识别
- 第38讲:List伴生对象操作方法代码实战
- .NET转Java
- jBox 弹出窗口中焦点设置问题
- 移动端开发的meta标签作用
- JDBC之PreparedStatement模糊查询
- MarkDown模板
- java中自动装箱带来的性能问题
- leetcode — word-search
- kernel笔记——内核同步与锁
- 14 - How to check replication status
- centos7以rpm方法装mysql5.7及大坑
- WebBrowser常用属性方法介绍
- Mysql-Client编码问题
- [转载]strtok函数和strtok_r函数
- cocos2d-x开发记录:二,基本概念(动作,动画,坐标系统)