在IE7下测试如下代码:
<html>
<head><title></title>
<script language="javascript">
function test()
{
event.returnValue = false;
alert("yes!");
}
</script>
</head>
<body>
<input type="button" id="btn" onClick="test();">
</body>
</html>点击button后,仍然会弹出对话框,即alert得到了执行,请问"event.returnValue = false;"究竟有啥作用?为什么后面语句仍然得到执行?谢谢!
<html>
<head><title></title>
<script language="javascript">
function test()
{
event.returnValue = false;
alert("yes!");
}
</script>
</head>
<body>
<input type="button" id="btn" onClick="test();">
</body>
</html>点击button后,仍然会弹出对话框,即alert得到了执行,请问"event.returnValue = false;"究竟有啥作用?为什么后面语句仍然得到执行?谢谢!
<html>
<head> <title> </title>
<script language="javascript">
function test()
{
event.returnValue = false;
// return false;
alert('yes'); // ==================================
// 设置false可以阻止浏览器执行与事件相关的默认动作
// 比如 如果没有这个语句 那么onsubmit按钮的onclick
// 的默认动作就是提交表单.此时这个false就是阻止了
// 默认动作--表单的提交. 而你的问题应该是return false;
// return是退出当前函数.
//=====================================
}
</script>
</head>
<body>
<form action="http://www.baidu.com">
<input type="submit" id="btn" value="onSubmit" onClick="test();">
</form>
</body>
</html>
<input type="submit" id="btn" value="onSubmit" onClick="return test();">
<html>
<head> <title> </title>
<script language="javascript">
function test(){
//楼主的疑惑
event.returnValue = false;
alert("yes!");
}function test1(){
//加个返回值,看看还alert出“yes!”吗?
return event.returnValue = false;
/*
上面那句话,其实就是 return false了;也可以写成:
event.returnValue = false;
var b=event.returnValue;
alert(b)
return b;
*/
alert("yes!");
}function test2(){
event.returnValue = "\n\n询问用户是否阻止浏览器关闭或刷新\n\n";
alert("yes!");
}
</script>
</head>
<body onbeforeunload="test2();/*用在这里询问用户是否阻止浏览器关闭或刷新*/">
测试一、
<input type="button" id="btn" value="楼主的疑惑" onClick="test();">
<br><br>
测试二
<input type="button" id="btn" value="加个return返回onclick的值" onClick="return test1();">
<br><br>
测试三、请F5或点浏览器关闭按钮试一下
</body>
</html>
楼主弄混了吧