繁体   English   中英

同时使用Href和Click监听器

[英]Using BOTH Href & click listener

我有一个正在使用的浏览器插件,我希望它在用户单击内容时以某种方式运行。 不限于但包括链接行为!

问题在于,该插件必须适用于各种站点,并且其中一些站点使用可怕的伪协议,例如:
<a href="javascript: showSomeElement();">Show Element</a>

目前,我的行为通过以下方式添加到了定位标记中
anchor.addEventListener('click', superAwesomeFunction);

不幸的是,这存在一个问题,即单击侦听器仅触发一次。 如果我当然preventDefault() ,则单击侦听器会一直存在,但是现在我已经破坏了宿主站点! 否则,单击链接会触发单击侦听器,但只会在第一次单击时触发。 我想知道为什么如果第二次单击链接,我的superAwesomeFunction()不会再次触发。 href="javascript:things()"做得比我知道的还要多?

可以将事件侦听器添加到在href属性中设置了JavaScript函数调用的链接。

这是一个显示其工作原理的jsFiddle 每次单击链接都会触发这两个功能。

除了您提供给我们的内容以外,您的代码还必须进行其他处理。

如果您必须等待用户一段时间并使用url,则可以在superAwesomeFunction的过程结束时添加一些代码:

document.location.href = $(this).attr("href");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM