这个一个两个区别的例子,你领悟一下
<title>runcode</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="Author" content="Sheneyan" />
<script type="text/javascript">
function form1(){
event.returnValue = false;
}
function form2(){
return false;
}
</script>
</head>
<body>
<form onsubmit="form1()">
<fieldset>
<legend>event.returnValue = false</legend>
<input type="submit" />
</fieldset>
</form>
<form onsubmit="return form2()">
<fieldset>
<legend>return false的正确用法</legend>
<input type="submit" />
</fieldset>
</form>
<form onsubmit="form2()">
<fieldset>
<legend>return false的错误用法</legend>
<input type="submit" />
</fieldset>
</form>
</body> 

解决方案 »

  1.   

    楼主的用意莫非是当点击XX以后,触发onlyEng()事件,然后判断是否是点击了英文键,进而达到屏蔽其他键盘输入的目的?那么请必须使用event.returnvalue=false;不用使用return false;
    原因很简单,前者是取消事件的处理,而后者则是返回了一个false值
    楼主应该对javascript中事件的冒泡有所了解吧,如果只是简单地返回false值,并不会终止其触发元素的父级元素继续触发相同事件,而使用前者,则就地正法,方法也就在此停止了,以免后患无穷。不知楼主明白了么
      

  2.   

    很明显有区别 
    retuan false
    是函数的 返回值
    返回一个 bool false
    event.returnValue
    是 事件event 相关的 
    请认真看 DOM   阻止ie下的 事件
    LS说的 详细
      

  3.   

    我是个初学者不知到下面的理解对不对比如onclick="return onlyEng()" 加上简单的return false一起用 等于 event.returnvalue=false ,都是先执行onlyEng()即验证onlyEng()里面的东西对不对执行语句,让缺省的执行失效而单独的onclick="onlyEng()" 加上简单的return false一起用则在先执行onlyEng()后,仍然执行缺省