我有以下html。 当我单击IE中的链接时,它会将返回值转储到空白页上。 在chrome中,它只是在不触摸页面的情况下运行该功能。 在这方面,可以做些什么使IE像chrome一样运行?
<html>
<body>
<script type="text/javascript">
function foo(){
return true;
}
</script>
<a title="call foo" href="javascript:foo()">return true</a>
</body>
</html>
答案 0 :(得分:0)
javascript:
方案URL的意义在于,它运行一些代码,该代码会生成一些数据,然后浏览器会导航到这些数据。
如果您只想在单击某些内容时运行一些JS:不要使用链接。
使用正确的工具进行工作。
function foo(){
return true;
}
document.querySelector("button").addEventListener("click", foo);
<button title="call foo">return true</a>
答案 1 :(得分:0)
<html>
<body>
<script type="text/javascript">
function foo(){
event.preventDefault();
return true;
}
</script>
<a title="call foo" href="javascript:foo()">return true</a>
</body>
</html>
答案 2 :(得分:0)
您可以使用event.preventDefault()方法来防止click事件中的超链接默认事件。像这样:
<script type="text/javascript">
function foo(e) {
event.preventDefault();
////get the href attribute.
//var href = document.getElementById("btn").getAttribute("href");
////display the page. You could also using "window.open(href)" to open a new tab to display the page.
//window.location = href;
return true;
}
</script>
<a title="call foo" id="btn" href="https://www.google.com/" onclick="foo(this);">return true</a>