jQuery中的on与bind绑定事件区别实例详解
理解并区分jQuery中的`bind`与`on`方法,特别是它们在事件冒泡方面的差异,对于开发者来说是非常重要的。接下来,我将以更生动的语言和丰富的文体,通过实例详细讲解这两者之间的区别。
我们先来看看`on`方法和`bind`方法的基本用法和参数。
`on(events, [selector], [data], fn)`:
`events`:一个或多个用空格分隔的事件类型和可选的命名空间,例如"click"或"keydown.myPlugin"。
`selector`:一个选择器字符串,用于选择触发事件的后代元素。
`data`:当事件被触发时,传递给事件处理函数的`event.data`。
`fn`:当事件被触发时执行的函数。
而`bind(type, [data], fn)`是jQuery 3.0之前版本中使用的方法,用于为匹配元素的特定事件绑定事件处理函数。但在jQuery 3.0中,这个方法已经被弃用,推荐使用`on()`方法替代。尽管其基本参数类型与`on()`相同,但在事件冒泡方面存在显著差异。
让我们通过三个示例来深入理解这两者的区别:
示例一: 使用`on()`方法和不使用`selector`属性的情况。点击相应的li元素弹出其内容。在此例中,使用`on()`替换`bind()`并没有任何区别。
```html
- 1
- 2
- 3
$(function () {
$('ul li').on('click', function(){
alert($(this).text());
});
});
```
示例二: 使用`bind()`方法的情况。在这种情况下,如果你动态添加一个li元素,点击这个新元素时,它不会触发绑定的事件。也就是说,`bind()`不具备动态绑定事件的能力。这是因为使用`bind()`绑定的事件是直接绑定在元素上的,新添加的元素不会继承这些绑定。
```html
$(function () {
$('ul li').bind('click', function(){
alert($(this).text());
});
var ok = $('
$('ul').last().append(ok); // 新增的li元素不具备事件绑定能力
});
```
编程语言
- jQuery中的on与bind绑定事件区别实例详解
- 判断、添加和删除WordPress置顶文章的相关PHP函数
- asp.net使用jQuery获取RadioButtonList成员选中内容和值
- jquery实现翻动fadeIn显示的方法
- $.ajax传JSON数据到后台的注意事项小结
- js 获取元素在页面上的偏移量的方法汇总
- PHP定界符的使用及注意事项
- 关于laravel-admin ueditor 集成并解决刷新的问题
- mysql清空表数据的两种方式和区别解析
- js倒计时简单实现代码
- Highcharts入门之基本属性
- 动态设置form表单的action属性的值的简单方法
- Ajax异步无刷新对局部数据更新
- BootStrap selectpicker后台动态绑定数据
- JavaScript 监控微信浏览器且自带返回按钮时间
- 浅谈MUI框架中加载外部网页或服务器数据的方法