Onclick или onClick?
Я думал, что привязка события click в javascript выполняется с помощью node.onclick
, и Chrome/Firefox, похоже, согласен со мной, но я увидел, что он написал .onClick
здесь 4 раза на 3 человека, поэтому это не может быть опечаткой, и я сомневаюсь, что это совпадение.
Итак, почему люди пишут onClick
, когда он не работает?
ОБНОВЛЕНИЕ: есть два хороших объяснения; Я не знаю, какой из них наиболее правдоподобен, поэтому я буду принимать ответ, основанный на всенародном голосовании завтра.
Ответы
Ответ 1
Поскольку некоторые браузеры (в зависимости от DOCTYPE) терпимы к встроенному атрибуту onClick="something();"
... он, кажется, немного распространился, даже на вопросы JavaScript, где он не работает, поскольку дело имеет значение.
Кроме того, в частности, для stackoverflow... людей, использующих его в вопросах... ну, в большинстве случаев они не будут задавать вопрос, работает ли их код:)
Ответ 2
@Ник Кравер в значительной степени его прибил и получил мой голос; Я просто хотел добавить свои мысли.
Я думаю, что он onClick
часто используется в разговоре, потому что он немного читабельнее и как старая привычка от тех из нас, кто предшествует всем строчным HTML. Однако в коде - как JavaScript, так и HTML, onClick
правильный и единственный способ, которым он должен появиться. Даже если вы используете старый тип документа HTML, придерживайтесь строчной буквы. Если вы когда-либо обновляетесь до более строгого doctype, вы будете рады, что ваш код не нужно проверять для случая.
Ответ 3
Это просто для большинства браузеров. HTML-атрибуты нечувствительны к регистру, но JS чувствителен к регистру. onClick будет работать в html, но если вы определяете обработчик в JS, вам нужно использовать нижний индекс onclick.
Ответ 4
В этом конкретном вопросе я использовал "onClick", поскольку исходный вопрос имел это в этом ключе, и я стараюсь как можно меньше изменить код OPs, чтобы сделать решение, чтобы они могли легко увидеть свою ошибку.
Случай верблюда недействителен технически, хотя мне нравится случай с верблюдом в целом. Честно говоря, это всегда меня раздражает, когда я вижу этот метод, поскольку я думаю: "Где jQuery!".
Он широко распространен в мире, я все время вижу его в источнике.
Я отредактировал свой ответ по указанному вопросу, чтобы он поместился, спасибо, указав его.