JavaScript内联事件语法

时间:2010-02-03 09:38:24

标签: javascript javascript-events

是否有任何理由比其他人更多地使用以下其中一种:

<input type="button" value="b1" onclick="manageClick(this)" />
<input type="button" value="b2" onclick="manageClick(this);" />
<input type="button" value="b2" onclick="manageClick(this);return false;" />
<input type="button" value="b3" onclick="return manageClick(this);" />
<input type="button" value="b4" onclick="javascript:return manageClick(this);" />

请不要花费宝贵的时间告诉我使用jQuery或attachEvent / addEventListener。这不是我问题的目标。

2 个答案:

答案 0 :(得分:8)

前两个之间没有任何区别,在特定的情况下,分号是可选的。

第三个将阻止任何默认操作发生,前两个不会发生。

第四个会阻止默认操作,具体取决于manageClick的返回值。

第五个不正确。

(如果合适,请使用attachEvent / addEventListener - 鸭子并运行

答案 1 :(得分:4)

<input type="button" value="b3" onclick="return manageClick(this);" />

编辑如果您希望控制元素行为,例如<a><input type="submit">,则最好返回,所以假设是这种情况,上面就是您的回答,如果不只是省略回报,只需使用onclick="manageClick(this);"

另外,请查看http://crisp.tweakblogs.net/blog/313/the-useless-javascript-pseudo-protocol.html关于javascript:的使用情况。 ^ _ ^