jquery的.click()点击事件为什么无效,on('click',function())如何使用?

 更新时间:2023年08月06日 10:10:49   作者:zhouzy539  
jquery的.click()点击事件,通常都是可以正常使用的,有时选中的选择器被点击时无法触发回调函数,这是为什么呢?改成on绑定click就可以了吗?面对这样的情况,on('click',function())应该如何使用?

jquery的.click()点击事件,通常都是可以正常使用的。有时选中的选择器被点击时无法触发回调函数。这是为什么呢?改成on绑定click就可以了吗?面对这样的情况,on('click',function())应该如何使用?

.click()无效的原因

$(选择器).click(fn):当选中的选择器被点击时触发回调函数fn。

只针对与页面已存在的选择器。如果该选择器是使用append(),prepend和 after(),before() 等方法后期动态添加的,.click()无效。

on('click',function())的正确使用

改成on('click',function())就可以使用了吗?

下面示例test元素为动态添加

$(".test") .on('click' , function () {
$(this).parent().remove()
})

点击无效,因为通过on或click绑定的事件只对当前存在的元素有效, 即on前面的元素必须在页面加载的时候就已经存在dom里,所以后添加的类名为.test的按钮无效。

修改成下面示例

$(".login") .on('click' , '.test',function () {
$(this).parent().remove()
})

可以像这样把事件绑定到.test的父元素(.login)上(事件委托),注意父元素必须是已经存在dom里,而不是后面动态添加的。

可以直接使用$(document).on('click','要选择的元素',function(){})

 $().on()的知识点补充:

 1、$().on()支持直接在目标元素上绑定事件,也支持在目标元素的祖辈元素上委托绑定。在事件委托绑定模式下,即使是执行on()函数之后新添加的元素,只要它符合条件,绑定的事件处理函数也对其有效。

此外,该函数可以为同一元素、同一事件类型绑定多个事件处理函数。触发事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。

要删除通过on()绑定的事件,请使用off()函数。如果要附加一个事件,只执行一次,然后删除自己,请使用one()函数。

该函数属于jQuery对象(实例)。

2、从jQuery 1.7开始,on()函数提供了绑定事件处理程序所需的所有功能,用于统一取代以前的bind()、 delegate()、 live()等事件函数。$().bind()直接绑定在元素上,和click,blur,mouseon一样的点击事件。$().live()是通过冒泡的方式来绑定到元素上的。更适合列表类型的,绑定到document DOM节点上。$().delegate()是更精确的小范围的使用事件代理。$().on()结合了这三个方法的优势摒弃了劣势。

3、该函数可以为同一元素、同一事件类型绑定多个事件处理函数。触发事件时,jQuery会按照绑定的先后顺序依次执行绑定的事件处理函数。

4、阻止事件冒泡和事件委托的方法:return false。在事件的处理中,可以阻止默认事件和冒泡事件。

event.preventDefault()在事件的处理中,可以阻止默认事件但是允许冒泡事件的发生。

event.stopPropagation().。在事件的处理中,可以阻止冒泡但是允许默认事件的发生。

到此这篇关于jquery的.click()点击事件为什么无效,on('click',function())如何使用?的文章就介绍到这了,更多相关click()点击无效内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript仿小米实现球体分解动画

    JavaScript仿小米实现球体分解动画

    用过小米手机的应该见过它的垃圾清理ui界面吧,本文将利用JavaScript模拟这一界面实现球体分解动画,感兴趣的小伙伴可以学习一下
    2022-06-06
  • 浅析JS获取url中的参数实例代码

    浅析JS获取url中的参数实例代码

    本文给大家介绍js获取url中的参数实例代码,通过取得整个地址栏,取得所有参数以及各个参数放到数组里,代码比较简单,有需要的朋友可以参考下
    2016-06-06
  • 基于iScroll实现内容滚动效果

    基于iScroll实现内容滚动效果

    这篇文章主要为大家详细介绍了基于iScroll实现内容滚动效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • bootstrap表单示例代码分享

    bootstrap表单示例代码分享

    这篇文章主要为大家详细介绍了bootstrap表单示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • js判断横竖屏及禁止浏览器滑动条示例

    js判断横竖屏及禁止浏览器滑动条示例

    这篇文章主要介绍了使用js如何判断横竖屏及禁止浏览器滑动条,需要的朋友可以参考下
    2014-04-04
  • echarts提示框tooltip被遮挡的解决办法分享

    echarts提示框tooltip被遮挡的解决办法分享

    这篇文章主要给大家介绍了关于echarts提示框tooltip被遮挡的解决办法, 在制作图表中,发现有时候tooltip会被线条遮挡或者被柱子折线遮挡,这种情况会偶尔出现,需要的朋友可以参考下
    2023-08-08
  • Javascript 遍历页面text控件详解

    Javascript 遍历页面text控件详解

    本篇文章主要是对Javascript遍历页面text控件进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2014-01-01
  • js实现键盘Enter键提交表单的方法

    js实现键盘Enter键提交表单的方法

    这篇文章主要介绍了js实现键盘Enter键提交表单的方法,涉及javascript键盘事件的相关操作技巧,需要的朋友可以参考下
    2015-05-05
  • JavaScript String 对象常用方法总结

    JavaScript String 对象常用方法总结

    下面小编就为大家带来一篇JavaScript String 对象常用方法总结。小编觉得挺不错的,现在分享给大家,也给大家做个参考
    2016-04-04
  • 微信小程序如何获取图片宽度与高度

    微信小程序如何获取图片宽度与高度

    这篇文章主要给大家介绍了关于微信小程序如何获取图片宽度与高度的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03

最新评论