jquery的bind和on绑定事件的区别
bind和on的绑定事件的区别:
jquery文档中bind和on函数绑定事件的用法:
.bind(events [,eventData], handler)
.on(events [,selector] [,data], handler)
用$('ul li').bind('click', function(){console.log('click');})绑定的事件,动态添加的li元素不会被绑定click事件,同样的已有的li被删除,但是click事件仍然在
用$('ul').on('click', 'li', function(){console.log('click');}方式绑定,动态添加的li的事件是可以被监听到的
on方法用的是事件代理(委托)机制,结合dom元素的捕获特性和JavaScript事件冒泡的高级特性,把事件绑定在父元素上 ;这种情况一般用在子元素较多或者子元素是变化的场景中;但是如果只是把事件绑定在父元素上,就需要在事件触发时判断当前触发的子元素,所以on方法的第二个可选参数selector就有用了
.on的selector参数指定是父元素代理的子元素
相关推荐
lzzyok 2020-10-10
无情的你无情的雨 2020-06-16
chunianyo 2020-06-04
grantlee 2020-05-28
xjp 2020-05-26
Roka 2020-05-25
天空一样的蔚蓝 2020-05-02
nangongyanya 2020-04-19
shufen0 2020-04-14
humanbeng 2020-03-05
Alanxz 2020-03-04
liwf 2020-02-17
歆萌 2020-02-10
tianchaoshangguo 2020-01-04
julien 2020-01-02
齐天大圣数据候 2019-12-28
杨友山 2019-12-25
GavinZhera 2019-12-19
oLeiShen 2019-12-15