大佬教程收集整理的这篇文章主要介绍了jquery – 我的.on()表现得像.bind(),而不是.live(),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
以下是~22个变化之一的示例:
# old version with .live() $('.options .image').live('click',function(){ console.log('clicked .options') }) # new version with .on() $('.options').on('click','.image',function(){ console.log('clicked .options') })
这些更改对于已存在的表单元素非常有效,但它们对于之后动态创建的任何嵌套元素都失败了.因此,它更像是Jquery的绑定而不是直播.你知道这里会发生什么吗?
$(document).on('click','.options .image',function() { console.log('clicked .options'); });
但是,我不认为将文档设置为监听器通常是要走的路.在带有.live()的原始版本中,您将在.options节点中选择.image节点.
但问题并不是说哪些部分是动态加载的.我怀疑.options也是动态加载的内容的一部分.使用.on()委托侦听器时的第一个选择器必须是不被破坏的东西:
$('#someWrapper').on('click',function() { console.log('clicked .options'); });
#someWrapper不需要是一个新的包装元素,它可以是任何祖先(有些人称之为“父”……但这是一个用词不当,因为它可能是祖父母或曾祖父母或其他什么!)即没有被破坏.越接近目标选择器(.options .imagE)越好.
以上是大佬教程为你收集整理的jquery – 我的.on()表现得像.bind(),而不是.live()全部内容,希望文章能够帮你解决jquery – 我的.on()表现得像.bind(),而不是.live()所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。