【发布时间】:2012-04-28 07:30:28
【问题描述】:
这是我的情况。我在整个网站上有一些链接。其中一些看起来像这样:
<a target="_blank" onclick="someFunction()" href="/somFile.pdf">some file</a>
有些看起来像这样:
<a target="_blank" href="/somFile.pdf">some file</a>
点击时所有的链接都应该调用 someFunction()。在 onclick 属性中有调用的是旧内容页面。较新的页面有一个 jQuery click 事件,如下所示:
$(document).ready(function(){
$('a[href$=".pdf"]').click(function() {
someFunction();
});
});
所以事情就是这样。我可以更新 someFunction(),但我无法触及实际的链接或 jQuery。我需要知道点击链接的 href 值。我尝试在 someFunction() 中使用以下内容:
var ev = window.event;
origEl = ev.target || ev.srcElement;
console.log(origEl.href);
但这不起作用。我也试过console.log(window.event) 并没有得到任何东西,说它是未定义的。知道我在这里缺少什么,或者在调用函数时不传递对它的引用基本上是不可能的吗?
编辑:需要明确的是,作为短期甚至中期解决方案,我不能在 onclick 或黑色 jQuery 代码中编辑对 someFunction() 的调用,因此我不能例如将它们更改为 someFunction(this) 或类似的。我不确定是否可以从 someFunction() 中获取 href ,除非我这样做:(
【问题讨论】:
-
我的小提琴按您的要求工作。我确实必须修改您的代码块,但只是为了防止链接实际尝试获取某些内容,并由于缺少 pdf 参考链接而相应地符合其余代码。
标签: javascript onclick