2010-12-07 29 views
31

Pensé que vinculando el evento click en javascript se hace usando node.onclick, y Chrome/Firefox parece estar de acuerdo conmigo, pero lo vi escrito .onClickhere 4 veces por 3 personas, así que no puede ser un error tipográfico y yo duda de que sea una coincidencia.onclick o onClick?

Entonces, ¿por qué la gente escribe onClick cuando no funciona?

ACTUALIZACIÓN: Hay dos buenas explicaciones; No sé cuál de ellos es el más plausible, entonces aceptaré la respuesta basada en el voto popular, mañana.

+0

Una cosa más para agregar: si se utiliza el antiguo XHTML DOCTYPE, todos los atributos deben estar en minúsculas. – Raptor

Respuesta

25

Como algunos navegadores (según DOCTYPE) son tolerantes con el atributo onClick="something();" en línea ... parece haberse extendido un poco, incluso en las preguntas de JavaScript donde no funciona, ya que el caso es importante.

Además, específicamente para stackoverflow ... personas que lo usan en las preguntas ... así, la mayoría de las veces no sería pedir una pregunta si su código trabajó :)

+0

bien, pensé en eso, pero ... ¿se extendió _todo eso? –

+0

@Gabi - sí, eso es lo mejor que puedo imaginar, basado en todas las preguntas que he visto aparecer, y los atributos en línea utilizados por los mismos usuarios. –

+0

Maldición. Otro ejemplo de "programación de errores". –

3

Es que para la mayoría de los navegadores Los atributos de HTML no distinguen entre mayúsculas y minúsculas, pero JS distingue entre mayúsculas y minúsculas. onClick funcionará en html, pero si está definiendo el manejador en JS, debe usar el clic en minúscula.

+0

es al revés. –

+0

en XHTML, los atributos HTML distinguen entre mayúsculas y minúsculas. La mayoría de los navegadores lo entenderán y lo renderizarán bien, pero su código fallará la validación. –

+0

hmm. La manipulación del navegador Lax debe haber sido lo que estaba leyendo. Acabo de leer algo sobre esto la otra semana. – Gopherkhan

1

En esa pregunta específica, utilicé "onClick" ya que la pregunta original lo tenía en ese sentido e intento cambiar la menor cantidad posible del código OP para hacer una solución, para que puedan ver su error fácilmente.

La caja de camello no es válida desde el punto de vista técnico, aunque me gusta la caja de camello en general. Francamente, siempre me molesta cuando veo ese método, ya que pienso "¿Dónde está jQuery!".

Es muy frecuente en el mundo, lo veo todo el tiempo en la fuente.

He editado mi respuesta sobre la pregunta a la que se hace referencia, gracias por señalarla.

+0

oh. no pensé en eso :) –

+2

¿Alguien quiere explicar el -1? – Orbling

11

@Nick Craver casi lo tiene clavado y tiene mi voto; Solo quería agregar mi pensamiento.

Creo que es onClick a menudo se utiliza en la conversación porque es un poco más legible, y como un viejo hábito de aquellos de nosotros que son anteriores a todo HTML en minúsculas. Sin embargo, en código, tanto JavaScript como HTML, onclick es correcto y la única forma en que debería aparecer. Incluso si está usando un tipo de documento HTML antiguo, pegue en minúscula. Si alguna vez actualiza a un doctype más estricto, se alegrará de que no sea necesario verificar su código para el caso.