2010-12-07 25 views
31

JavaScriptのClickイベントのバインドはnode.onclickを使って行い、Chrome/Firefoxは私の意見に同感しているようですが、.onClickhereが3回4回書かれていると思っていました。それは偶然であると疑う。onclickまたはonClick?

なぜ、動作しない場合、人々はなぜonClickと書いていますか?

更新:2つの良い説明があります。彼らのどれがもっともらしいかわからないので、私は明日の一般投票に基づいて答えを受け入れます。

+0

追加するもう1つのこと:古いXHTML DOCTYPEが使用されている場合、すべての属性は小文字でなければなりません。 – Raptor

答えて

25

いくつかのブラウザ(DOCTYPEに依存)は、インラインonClick="something();"属性を許容しているため、JavaScriptの質問にも少しばらつきがあります。特に質問でそれを使用して...人をStackOverflowのためにも

、...よく、そのコードが働いていた場合、彼らは質問をされることはないほとんどの時間:)

+0

私はそれについて考えましたが...それはそれほど広がったのですか? –

+0

@ Gabi - yup、それは私がそれがポップアップで見たすべての質問と、同じユーザーによって使用されるインライン属性に基づいて、私が把握できる最高です。 –

+0

Damn。 "バグへのプログラミング"のもう一つの例.. –

3

それだけでは、ほとんどのブラウザのためですHTML属性は大文字小文字を区別しませんが、JSでは大文字と小文字を区別します。 onClickはhtmlで動作しますが、JSでハンドラを定義する場合は、lowercased onclickを使用する必要があります。

+0

それは逆です。 –

+0

XHTMLでは、HTML属性は大文字と小文字を区別します。ほとんどのブラウザはそれを理解してレンダリングしますが、コードは検証に失敗します。 –

+0

hmm。私が読んでいたブラウザの扱いは、Laxのものだったに違いない。私はもう一週間これについて何かを読んだだけです。 – Gopherkhan

1

私は "onClick"を元の質問に使っていましたが、解決策を作るために可能な限りOPコードを少し変更して、間違いを簡単に見られるようにしました。

キャメルケースが一般的に好きですが、ラクダケースは技術的に無効です。率直に言って、私は「Where's jQuery!」と思うので、私はその方法を見るといつも私を悩ます。

世界で流行っていますが、私はいつもソースでそれを見ています。

参考にした質問に私の答えを編集しました。それを指摘してくれてありがとう。

+0

oh。それについて考えなかった:) –

+2

誰も-1を説明したいですか? – Orbling

11

@Nick Craverはかなり釘付けになっていて、私の投票権を持っています。私はちょうど私の考えを追加したい。

onClickは、会話によく使われると思います。読みやすく、小文字のHTMLよりも前の人たちの古い習慣であるためです。しかし、JavaScriptとHTMLの両方のコードでは、onclickが正しいだけで、表示されるべき唯一の方法です。古いHTMLのdoctypeを使用していても、小文字に固執してください。より厳格なDoctypeに更新した場合、コードが大文字小文字をチェックする必要はありません。