2010-12-07 53 views
31

我认为绑定JavaScript中的点击事件是通过使用node.onclick来完成的,Chrome/Firefox似乎同意我的观点,但我看到它被3人写了4次,因此它不会是我写的.onClickhere怀疑这是巧合。onclick或onClick?

那么,为什么人写onClick当它不工作?

UPDATE:有两个很好的解释;我不知道哪一个是最合理的,所以我会在明天接受基于民意投票的答案。

+0

还有一件事要补充:如果使用旧的XHTML DOCTYPE,则所有属性必须为小写。 – Raptor 2014-08-26 09:33:31

回答

25

因为某些浏览器(取决于DOCTYPE)可耐受的直列onClick="something();"属性的......这似乎已经普及了一下,连成JavaScript的问题,它不工作,因为案件事宜。

此外,专门计算器......人们使用它的问题......嗯,大部分的时间,他们就不会问一个问题,如果他们的代码工作:)

+0

嗯,我想过,但是......它传播了多大? – 2010-12-07 19:28:44

+0

@Gabi - yup,根据我所看到的所有问题以及同一用户使用的内联属性,这是我能够得出的最佳结果。 – 2010-12-07 19:30:14

+0

该死的。 “编程为错误”的另一个例子。 – 2010-12-07 19:30:24

3

这只是大多数浏览器HTML属性不区分大小写,但JS区分大小写。 onClick将在html中工作,但如果您要在JS中定义处理程序,则需要使用小写的onclick。

1

在这种具体问题,我使用“的onClick”因为原来的问题有它的这一精神,我尝试尽可能少的有机磷农药代码可能换作一个解决方案,使他们可以很容易地看到了自己的错误。

骆驼情况下是无效的技术上,虽然我一般都喜欢骆驼。坦率地说,当我看到这种方法时,它总是让我很烦恼,因为我认为“jQuery在哪!”。

它是世界上严重流行,我看到它在源中的所有时间。

我编辑的引用的问题我的答案,以适应,谢谢指点出来。

11

@Nick Craver几乎都有它确定下来,有我的投票;我只是想增加我的想法。

我认为这是onClick经常用在对话中,因为它更具可读性,并且作为我们之前的所有小于HTML的老习惯。但是,在代码中 - 无论是JavaScript还是HTML,onclick都是正确的,并且是唯一的出现方式。即使您使用的是较旧的HTML文档类型,也要坚持使用小写字母。如果你更新到更严格的文档类型,你会很高兴你的代码不需要检查的情况下。