jasondan

最近使用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()去触发。

分类:

技术点:

相关文章:

  • 2021-12-09
  • 2022-12-23
  • 2021-12-09
  • 2021-06-10
  • 2021-12-09
  • 2021-12-12
  • 2022-02-07
猜你喜欢
  • 2021-12-09
  • 2021-12-04
  • 2021-05-19
  • 2021-09-27
  • 2022-03-02
相关资源
相似解决方案