首页 > 代码库 > jQuery模拟鼠标点击事件失效的问题
jQuery模拟鼠标点击事件失效的问题
最近使用jQuery操作浏览器获取数据,需要对分页的信息进行处理,发现直接使用$(‘div#pager a.next‘).click();的这种写法无法触发点击事件。
使用trigger(‘click‘)的写法也是无济于事。
在网上一顿扒拉后,发现使用$(‘div#pager a.next‘)[0].click();就OK了。
$(‘div#pager a.next‘)[0]这种写法其实就相当于把jQuery对象转换为Dom对象了。
模拟点击不生效的原因
如果使用jQuery的写法:$(‘a#test‘).click(function(){alert(‘ok‘)});为元素绑定了click事件,那么使用$(‘a#test‘).click()是可以生效的,如果没有绑定click事件,当点击a#test的时候事件通过冒泡会传给父级的节点,父级节点会处理点击事件(跟我遇到的分页的情形是一样的),那么这时就需要模拟DOM点击了,也就是通过$(‘a#test‘)[0].click()去触发。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。