我想模拟使用JavaScript在页面上的任何链接上的点击。如果该链接具有绑定到其’onclick’事件(通过任何其他JS我没有任何控制)的某个函数,则该函数必须被调用,否则链接应该以正常方式行为并打开一个新页面。
我不知道只是检查’onclick’处理程序的值就足够了。我想构建这个,使其工作在任何链接元素。
我不能控制什么函数可能绑定到链接的onclick事件使用任何JS库(不一定是jQuery)或通过简单地使用JavaScript。
编辑:在下面的答案的帮助下,它看起来像是可以检查事件处理程序附加使用jQuery或使用onclick属性。如何检查使用addEventListener /任何其他JS库附加的事件处理程序,以便它是万无一失的?
解决方法
您可以使用
click功能在所选元素上触发点击事件。
例:
$( 'selector for your link' ).click ();
你可以了解jQuery的documentation中的各种选择器。
编辑:像下面的评论者说的;这只适用于与jQuery,inline或以“element.onclick”样式附加的事件。它不与addEventListener一起使用,如果没有定义事件处理程序,它不会跟随链接。
你可以解决这个问题,像这样:
var linkEl = $( 'link selector' ); if ( linkEl.attr ( 'onclick' ) === undefined ) { document.location = linkEl.attr ( 'href' ); } else { linkEl.click (); }
不知道addEventListener。