人们在onclick和其他事件处理程序中放置“javascript:”的原因是什么?

时间:2011-10-09 23:48:13

标签: javascript html

  

可能重复:
  What is “javascript:” in a javascript event handler?

我看到很多代码如下:

<span onclick="javascript:alert('blah');">blah</span>

我怀疑人们理解它实际上在做什么,我想因为它在下面是必需的(作为一个URI方案),人们只是假设它在其他地方是必需的?

<a href="javascript:alert('blah');">blah</a>

即。大概是他们假设它指定了事件处理程序的语言,但是你不能在那时指定vbscript:(或任何其他语言)。

包含javascript:并不是一个真正的问题,但它没有做任何事情,因为它实际上只是标记了块(作为不存在的break或{{1}的目标声明)。

人们添加continue的历史原因是什么?是否有一些浏览器会产生差异,或者只是一种误解?

3 个答案:

答案 0 :(得分:4)

这会创建一个带标签的声明 即使Javascript没有goto,它仍然有标签。

人们这样做是因为他们不了解网址和/或Javascript,或者因为他们正在复制/粘贴。

答案 1 :(得分:4)

大多数人最有可能在某个地方看到一些例子,并遵循这一点。原始来源当然是从href属性复制代码时的误解,而不是理解它与事件属性之间的区别。

从来没有任何浏览器在事件属性中需要javascript:,所以这只是一个误解。

这样的事情一次又一次地存活并重新出现的原因是它不会导致任何错误。当它起作用时,人们认为它是正确的,并在其他人的例子中重复它。

答案 2 :(得分:0)

如果您想稍后编辑某些内容,那就更清楚了。