为什么设置'onClick'作为事件处理程序不被识别为语法错误?

时间:2014-08-02 16:28:50

标签: javascript javascript-debugger

我的JavaScript代码是:

var headline = document.getElementById("mainHeading");
headline.onClick = function() {
    headline.innerHTML = "You clicked the headline.";
};

但点击标题后没有任何反应。当我使用onclick代替onClick(没有大写字母C)时,它才有用。

当我使用Chrome DevTools和Firebug调试时,他们不会将onClick显示为语法错误。

有谁能告诉我如何调试它?

2 个答案:

答案 0 :(得分:2)

他们不会将onClick显示为语法错误,因为它不是。

您正在做的是在对象onClick上设置名为headline的变量作为函数。一切都很好。这里没有错误。

虽然不会被调用,因为“浏览器”会在发生点击时调用onclick

如果你不自己打电话给onClick,那就永远不会。{/ p>

使用onclick

答案 1 :(得分:2)

事件为onclick(全部小写)。 JavaScript区分大小写,因此您必须匹配大小写。设置onClick时,您要在元素上将自定义属性设置为您指定的函数。元素存储值,但没有任何东西访问该属性。它是JavaScript的一个功能,您可以在任何对象上设置任意属性,因此调试器中没有任何内容可以让您不幸地捕获它。