目前已知有:

$("..").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","事件名");

最新文章

  1. solr 安装
  2. python——SQL基本使用
  3. js判断是否绑定了事件。
  4. Debug目录、Release目录,bin目录、obj目录,vshost.exe.config文件、.exe.config文件分析【C#】
  5. 【uva】1220 Party at Hali-Bula
  6. eclipse下创建maven工程
  7. mongodb的write concern
  8. 第32讲 UI组件之 时间日期控件DatePicker和TimePicker
  9. Java自学手记——struts2
  10. Struts2实现文件上传报错(三)
  11. window配置mongodb集群(副本集)
  12. arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)
  13. dp 洛谷P1977 出租车拼车 线性dp
  14. Mac下安装pyenv
  15. 计算概论(A)/基础编程练习(数据成分)/1:短信计费
  16. puppet的使用:依赖关系整理
  17. docker 概念初识
  18. SpringMVC框架结构的图解、架构的处理流程以及三大组件的说明和使用
  19. C#Framework4.0支持异步async/await语法
  20. CodeForces Round #527 (Div3) A. Uniform String

热门文章

  1. Winio.dll的使用
  2. Powerdesiger使用技巧
  3. Mac下 javac java 进行编译和运行含有包路径及引入jar包的类
  4. CWinApp类CMultiDocTemplate类CDocument类CView类的关系
  5. Linux mount/unmount命令(6/16)
  6. 介绍Web项目中用到的几款表单验证插件
  7. 开源CMDB详细安装使用
  8. [BZOJ1587]叶子合并leaves
  9. @WebListener 注解方式实现监听
  10. AtCoder Regular Contest 099