jQuery 绑定事件总结
目前已知有:
$("..").bind("事件名",fn);
$("parent").on("事件名","selector",fn);
$("..").one("事件名",fn);
DOM:addEvenetlistener("事件名",fn);
removeEvenetListener("事件名",函数名);
强调:要想移除事件监听,必须使用有名函数
绑定事件监听,如果添加事件时使用匿名函数
则不可能移除.
$("select").live("事件名",fn);
$(document).delegate("select","事件",fn);
$("selector").die("事件名");
其中 后三种 live、delegate、die,由于其本身的性能问题,已废弃,不再讨论,尽讨论前三种:
1:bind
bind通常都是是每个子元素都添加事件监听,且仅对现有元素添加绑定,无法自动给动态生成元素添加绑定
a:
$("...").bind("事件名",fn);
$("...").bind("事件名1 事件名2 ",fn);
b:事件对象
$("..").bind("事件名",function(e){
e==事件对象
e.preventDefault();
});
$("..").unbind("事件名",函数名); 解除绑定
$("..").unbind(); 移动该元素上所有事件绑定
2:on
on() 为指定的元素,添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。使用 on() 方法的事件处理程序适用于当前或未来的元素(比如由脚本创建的新元素)。
off()函数主要用于解除由on()函数绑定的事件处理函数。
3:one
$("..").one("事件名",fn);绑定事件,仅触发一次后自动触绑定,只能对当前页面上己存在的元素添加事件绑定.动态生成元素无法自动绑定事件.
实现动态绑定的方法:
解决1:利用冒泡,将事件绑定己存在父元素一次
function(e){
var target = e.target;
//target 触发事件:元素
}
解决2:事件代理
$("parent").delegate("subselector","事件名",fn);
fn-->this--->代替 e.target
解除
$("parent").undelegate("subselector","事件名");
最新文章
- solr 安装
- python——SQL基本使用
- js判断是否绑定了事件。
- Debug目录、Release目录,bin目录、obj目录,vshost.exe.config文件、.exe.config文件分析【C#】
- 【uva】1220 Party at Hali-Bula
- eclipse下创建maven工程
- mongodb的write concern
- 第32讲 UI组件之 时间日期控件DatePicker和TimePicker
- Java自学手记——struts2
- Struts2实现文件上传报错(三)
- window配置mongodb集群(副本集)
- arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)
- dp 洛谷P1977 出租车拼车 线性dp
- Mac下安装pyenv
- 计算概论(A)/基础编程练习(数据成分)/1:短信计费
- puppet的使用:依赖关系整理
- docker 概念初识
- SpringMVC框架结构的图解、架构的处理流程以及三大组件的说明和使用
- C#Framework4.0支持异步async/await语法
- CodeForces Round #527 (Div3) A. Uniform String