jquery对象不支持on属性或方法

钟逸 63 2024-02-25 21:57:28

jQuery中的bind()函数跟on()函数有什么区别呢

.bind()与.on()的区别:

(1)是否支持selector这个参数值。由于javascript的事件冒泡特性,如果在父元素上注册了一个事件处理函数,当子元素上发生这个事件的时候,父元素上的事件处理函数也会被触发。

如果使用on的时候,不设置selector,那么on与bind就没有区别了。

(2)on绑定的事件处理函数,对于未来新增的元素一样可以的,和delegate效果相同,而bind则不行。

(3) delegate用法与on()相同,只是参数的顺序不同:

扩展资料:

.bind()与.on()的实际应用:

1.bind()是直接绑定在元素上,将一本地地址与一套接口捆绑。如无错误发生,则bind()返回0。否则的话,将返回-1,应用程序可通过WSAGetLastError()获取相应错误代码。

用于事件处理程序

function ClassName(){

this.eventHandler=(function(){

}).bind(this);

}

2.on()则实现事件代理,可以在匹配元素上绑定一个或者多个事件处理函数。

(1)用来绑定多事件,并且为同一函数,如:

$('div').on('click mouseover',function(){

//do sth

});

(2)多个事件绑定不同函数,如:

$('div').on({

'click':function(){

//do sth

},

'mouseover':function(){

//do sth

}

});

(3)事件代理,如:

html:

<button id="bt1">按钮1</button>

jq:

$('#bt1').on('click',function(){

$('body').append('<button>按钮2</button>');

});

$('body').on('click','.bt2',function(){

console.log('这是bt2');

}

参考资料:百度百科-bind()

上一篇:王者荣耀大乔铭文搭配
下一篇:dnf剑帝最好的武器
相关文章
返回顶部小火箭