我有一些代码给我带来了问题。
这个:
onclick="return my_Check();"
然后这个:
onclick="my_Check();"
我的问题是,这不是一回事吗?
我有一些代码给我带来了问题。
这个:
onclick="return my_Check();"
然后这个:
onclick="my_Check();"
我的问题是,这不是一回事吗?
不,第一个返回my_Check()
函数的返回值。
第二个没有。
这意味着事件可能会响应该返回值。某些事件在返回时会被取消false
,因此这会对您的页面行为产生影响。
不,它们不一样。浏览器内部使用“onclick”属性的字符串值来构造函数:
var actualHandler = new Function( "event", attributeValue); // for IE, no "event"
因此,添加return
关键字意味着处理函数将在完成调用工作后向浏览器返回一个值。如果处理程序想要阻止浏览器执行任何“本机”操作以响应事件,这一点很重要:它可以返回false
以告诉浏览器什么都不做。
编辑——我把参数顺序倒了,但现在已经修好了
不。
如果您form
这样做submit
并且在提交之前运行第一个:
如果结果是false
,表单将不会提交
在第二个 - 它会。(即使my_Check();
返回假)
return
传递给处理程序的任何内容my_Check
。如果my_Check
返回false
,则取消事件的默认操作。没有它,返回的值将被丢弃,并且无论如何都会执行默认操作。