-
问题描述:点击按钮弹出下拉菜单,移开鼠标时菜单消失。但是当我用jquery写了元素的mouseleave事件后,并不能产生效果。反复检查了代码也没有出错,又新建了一个页面写了个简单的demo进行验证也没问题。到底怎么回事呢?
原因:普通添加的事件,只是在$(document).ready()时绑定的已有元素的事件,所以对于后来动态添加的元素,在document.ready时是不存在的,所以无法对其绑定,也就无法产生响应;
解决:使用jquery的on()方法,$(document).on(a, b, c, d, e); 将方法绑定到document上,如果元素发生变化,从文档起始位置开始往下找节点,所以能使绑定的事件响应;
非常感谢这篇文章的作者:https://blog.youkuaiyun.com/hebsun/article/details/53893576
菜鸟教程上对on方法的解释:https://www.runoob.com/jquery/event-on.html
今日总结
最新推荐文章于 2024-05-29 21:49:39 发布