我有一个我正在处理的浏览器插件,我希望它在用户点击时能够以某种方式运行。不限于,但包括链接的行为!
问题是插件必须适用于各种各样的站点,其中一些站点使用可怕的伪协议,例如:
<a href="javascript: showSomeElement();">Show Element</a>
目前,我的行为已通过
添加到锚标记中
anchor.addEventListener('click', superAwesomeFunction);
不幸的是,这有点击监听器只触发一次的问题。如果我preventDefault()
当然是点击监听器,但我现在打破了主机站点!否则,单击该链接将触发单击侦听器,但仅在第一次单击时触发。我想知道为什么我的superAwesomeFunction()如果第二次点击链接就不会再次触发。 href="javascript:things()"
比我知道的更多吗?
答案 0 :(得分:1)
可以将事件侦听器添加到在href
属性中设置了JavaScript函数调用的链接。
这是一个jsFiddle,表明它有效。每次单击链接时都会触发这两个函数。
除了我们在您提供的内容中看到的内容之外,您的代码还必须有其他内容。
答案 1 :(得分:0)
如果你必须等待用户一段时间然后继续使用url,你可以在superAwesomeFunction的进程端添加一些代码:
document.location.href = $(this).attr("href");