使用BOTH Href&点击监听器

时间:2012-01-25 01:38:43

标签: javascript anchor href addeventlistener

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

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

目前,我的行为已通过
添加到锚标记中 anchor.addEventListener('click', superAwesomeFunction);

不幸的是,这有点击监听器只触发一次的问题。如果我preventDefault()当然是点击监听器,但我现在打破了主机站点!否则,单击该链接将触发单击侦听器,但仅在第一次单击时触发。我想知道为什么我的superAwesomeFunction()如果第二次点击链接就不会再次触发。 href="javascript:things()"比我知道的更多吗?

2 个答案:

答案 0 :(得分:1)

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

这是一个jsFiddle,表明它有效。每次单击链接时都会触发这两个函数。

除了我们在您提供的内容中看到的内容之外,您的代码还必须有其他内容。

答案 1 :(得分:0)

如果你必须等待用户一段时间然后继续使用url,你可以在superAwesomeFunction的进程端添加一些代码:

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