jquery中bind/delegate/on绑定的区别和正则的使用
1. bind
- 用法:$(xxx).bind(“click”, function(){…})
- 我们常用的 $(xxx).click(function(){…}) 就是bind的缩写
- 解绑:$(xxx).unbind(“click”, handle)
- 限制:一个个绑定click,效率低,只能未已存在的绑定
2. delegate
- 用法:$(xx).delegate(“p”, ‘click’, function(){…})
- 为$(xx)下面的所有p标签绑定click
- 解绑:$(xx).undelegate(“p”, ‘click’, handle)
- 限制:其实是给他的父节点绑定了点击事件,点击他的子元素的时候会冒泡到他的父节点上,导致dom树很深的时候会出错
3. on
- 用法:$(xx).on(“click”, “p”, function(){…})
- 为$(xx)下面的所有p标签绑定click
- 解绑:$(“xx).off(“click”, “p”, handle)
- bind和delegate底层都是调用了on方法,因此on方法更高效,官方也推荐使用
4. jquery 正则
- 使用:
var str = “abcde”;
var reg = /^[a-z]{8}$/i;
return reg.test(str); i表示不区分大小写,这里返回false,因为str不是8个字母