神奇的"javascript:"
上周,从 GuoXing同学 http://weibo.com/runflash 那里学习的一个知识点,没等到他的博客,我就抢先记录一下。(捋须笑过)
问题:以下代码里的“javascript:”是起什么作用?
<input type=button value=test onclick="javascript:alert(1)"/>
在href里写“javascript:alert(1)”,这里是作伪协议,不过在onclick里写,是有什么用呢?
难道是指定语言类型? ok,再我们改下试下:
<input type=button value=test onclick="hello:alert(1)"/>
发现代码还是可以正常执行的。这么说来应该不是script语言类型。
那是什么呢?如果语法合理的话,那看来只能是label了。写个代码来验证下是不是label:
<input type=button value=test onclick="{javascript: while(confirm('once more?')){continue javascript;}} "/>
经验证,确定为label。
这个label显然是多余的。
结论就是:以下写法里的"javascript:"完全是不恰当的多余。----可能是以讹传讹、胡乱Copy的产物。
<input type=button value=test onclick="javascript:alert(1)"/>