由于限制,即使它是我完全避免的,在某些情况下我必须使用 javascript: 在 achor 标记的 href 属性中的语法。
(说明:在我的 CMS 中,我使用富文本编辑器来允许用户更改文本元素,包括链接。在某些情况下,需要特定的 javascript: 调用,并且我从链接编辑功能中完全禁止了 onclick(以简化过程对于用户)。但是,由于其中一个链接出现在对 onclick 事件做出反应的块中,所以事情会双重触发)
像这样:
<a href="javascript:doSomething()"></a>
我的问题是该链接位于已经对 onclick 事件作出反应的容器内。因此我想将事件对象传递给 doSomething() 方法,这样我就可以使用 jQuery 的
event.stopPropagation()
方法。
然而不幸的是,似乎传递事件对象
<a href="javascript:doSomething(event)"></a>
似乎根本不起作用。Safari 什么也不说,而 Firefox 会报告ReferenceError: event is not defined
我假设是这种情况,因为 href="" 不是脚本启动属性(例如 onclick)。问题是在这种情况下,我将无法访问超出我已经做过的标签。
因此我要么需要
1.) 一种从 href 属性中将事件对象传递给 doSomething() 函数的方法
或者
2.) 一种通过其他方式在该锚点(点击后)停止事件传播的方法。
感谢您的任何建设性意见!