让我介绍IE的另一个技巧!
今天,令我惊讶的是我有相反的情况。我在Internet Explorer上运行良好,而不是FireFox和Chrome!说真的,有人知道为什么这在IE中起作用而在其他浏览器上不起作用? 这段代码似乎没用,但那是因为我已经解决了这个问题。我们走了:
<html>
<head>
<script>
function redirectFuncionTest(value){
document.getElementById(value).click();
return false;
}
</script>
</head>
<body>
<input type="button" value="start redirectFuncionTest"
onclick="redirectFuncionTest('idLink')" />
<a id="idLink" name="namelink" href="http://www.google.com"></a>
</body>
</html>
有任何帮助吗?有没有其他方法可以做这样的事情?
感谢您的阅读!
答案 0 :(得分:2)
click()
方法仅存在于IE中。
相反,您可以写location = document.getElementById(value).href
答案 1 :(得分:2)
很难看到关于同一主题的上一个问题,
How do I programmatically click a link with javascript?
我建议使用jQuery或其他一些库(如果可用)。或者,只需使用
window.location = link.href;
绕过链接
答案 2 :(得分:0)
此处How do I programmatically click on an element in JavaScript?
<html>
<head>
<script>
if(typeof HTMLElement!='undefined'&&!HTMLElement.prototype.click) {
HTMLElement.prototype.click=function() {
var evt = this.ownerDocument.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
this.dispatchEvent(evt);
}
}
function redirectFuncionTest(value){
document.getElementById(value).click();
return false;
}
</script>
</head>
<body>
<input type="button" value="start redirectFuncionTest"
onclick="redirectFuncionTest('idLink')" />
<a id="idLink" name="namelink" href="http://www.google.com"></a>
</body>
</html>
答案 3 :(得分:0)
click()不是JavaScript方法。可能IE将其实现为自定义IE方法。
某些库(如jQuery)有这种方法。
答案 4 :(得分:0)
好的,在你的帮助下,我写了一些类似于解决我问题的片段......
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#btn_go").click(function(){
$(location).attr('href',"http://www.google.com");
});
});
</script>
</head>
<body>
<input type="button" id="btn_go" value="go" />
</body>
</html>
谢谢大家,你们真棒!
答案 5 :(得分:-2)
<强>元凶强>
document.getElementById...
是你的罪魁祸首,它不是跨浏览器的安全。我知道这会让学习非常困难。
解决方案:Javascirpt实用程序功能
Here's a cross-browser solution.
function get_object(id) {
var object = null;
if (document.layers) {
object = document.layers[id];
} else if (document.all) {
object = document.all[id];
} else if (document.getElementById) {
object = document.getElementById(id);
}
return object;
}
替代解决方案:JQuery
如果您真的想要一个更简单的解决方案,请快速浏览一下JQuery。这是一个值得学习的新东西,但与开箱即用的javascript相比,它更具有跨浏览器兼容性。