jquery的bind与on和live的使用
- 使用
.bind()
方法非常浪费性能因为它把同一个事件处理函数附加到了每一个匹配的元素上 - 你应该停止使用
.live()
方法因为它被弃用了同时也会带来很多问题 - 使用
.delegate()
方法会给你带来很多好处当你需要解决一些性能上的问题和对动态添加的元素作出处理 - 新的
.on()
方法其实就是模拟.bind()
,.live()
和.delegate()
实现的语法糖,具体取决于你如何调用它
bind绑定dom元素
使用 .bind()时,选择器匹配的元素会附加一个事件处理函数,而以后再添加的元素则不会有。为此需要再使用一次 .bind() 才行。
//bind 为每个匹配元素绑定事件处理函数,绑定多个用{}。
$("p").bind("click", function(){
alert( $(this).text() );
});
$(menuF).bind({
"mouseover":function () {
$(menuS).parent().removeClass("hide");
},"mouseout":function () {
$(menuS).parent().addClass("hide");
}
});
$("p").unbind( "click" ) //解绑一个事件
可以给这个元素绑定一个简单的click事件,点击了元素,就会弹出一个警告框 。然后又有另一个元素添加进来了。$('body').append(' Another target '); 尽管这个新的元素也能够匹配选择器"#my-selector" ,但是由于这个元素是在调用 .bind() 之后添加的,所以点击这个元素不会有任何效果。
$('#my-selector').bind('click', function() {
$(this).unbind('click');
alert('Clicked and unbound!');
});
bind()和unbind()提供了事件的绑定和取消机制,既可以绑定html默认支持的事件,也能够绑定自定义的事件。
$("#btnConfirm").bind('click',function(){
debugger;
var $dg = $("#dglist");
var rows = $dg.datagrid("getSelections");
var renderSelectObj = parent.renderSelector;
var _datas = [];
for(var i=0,len=rows.length; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?