<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
#div1 {
width: 200px;
height: 200px;
background: red;
}
</style>
</head>
<body>
<a href = "javascript: ;" onClick = "a()" >链接1</a>
<a href = "javascript: a();" onClick = "a();return false;">链接2</a>
<a href = "javascript: a();" >链接3</a>
<input type = "button" value = "1" onClick = "a()">
<div id = "div1"></div>
<script>
function a() {
console.log(1);
var odiv = document.getElementById('div1')
if(odiv.style.display == 'none'){
odiv.style.display = 'block'
}
else{
odiv.style.display = 'none'
}
}
</script>
</body>
</html>
本来问题是为什么在chrome和IE环境下快速点击链接3时会停止a()事件执行(firefox正常),后来看到这个
然后我想验证究竟是不是触发了beforeunload可是不知道该怎么做.(js初学者)。 要是验证是否触发click我还可以在function里打印数字1,可是验证beforeunload是否触发实在想不到思路。如果我给beforeunload添加个事件 那就成了我自己要触发beforeunload事件不能证明是js触发的
MDN里有说,你可以参考下。
被楼下启发了下,既然标准都不推荐那安全起见还是不推荐这么写的;但如果一定要这么写的话,通常href空链接有两种写法:
href = "#"
,onclick = "clickThis.call(this)"
,然后记得clickThis里要return false;
;href = "javascript: void(0)"
,然后可以随便用js处理下就好。