Shy*_*yju 19 javascript jquery click onclick
我有一个带锚标记的页面.在我的JavaScript中,我HREF根据一些if-else条件动态设置锚标记的属性.现在我想以编程方式调用anchor标记的click事件.我使用下面的代码,但没有成功.
var proxyImgSrc="CostMetrics.aspx?Model=" + model +"&KeepThis=true&TB_iframe=true&height=410&width=650";
document.getElementById("proxyAnchor").href=proxyImgSrc;
document.getElementById("proxyAnchor").onclick;
Run Code Online (Sandbox Code Playgroud)
任何人都可以告诉我如何继续吗?我在这个链接上有一个jQuery灯箱实现(thickbox).
好心提醒.提前致谢.
sam*_*son 68
如果您安装了jQuery,那么为什么不这样做:
$('#proxyAnchor')[0].click();
Run Code Online (Sandbox Code Playgroud)
注意,我们使用[0]来指定第一个元素.jQuery选择器返回一个jQuery实例,并调用click(),只调用click javascript handler,而不是href.在实际元素上调用click()(由[0]返回)将跟随href等中的链接.
请看这里举例说明不同之处:http://jsfiddle.net/8hyU9/
至于为什么你的原始代码不起作用 - 这可能是因为你在呼唤onclick,而不是onclick().如果没有括号,JavaScript将返回分配给onclick属性的任何内容,而不是尝试执行它.
试试下面这个简单的例子来看看我的意思:
var f = function() { return "Hello"; };
alert(f);
alert(f());
Run Code Online (Sandbox Code Playgroud)
第一个将显示函数的实际文本,而第二个将按预期显示单词"Hello".
Can*_*var 11
您应该像这样调用click事件:
document.getElementById("proxyAnchor").click();
// $('#proxyAnchor').click();
Run Code Online (Sandbox Code Playgroud)
但在您的情况下,如果需要,您应该将窗口的位置设置为重定向页面.