Discusión:JavaScript no obstructivo
No me parece didáctico proponer ejemplo de javascript no obstructivo basados en una librería concreta (Prototype). Parece que se da a entender que sin Prototype no es posible el javascript no obstructivo.
Debería ser javascript nativo, que todo el mundo lo pudiese ejecutar sin hacerse con una librería en concreto. Creo que este artículo es imparcial en cuanto a que no habla de otras librerías o frameworks. Tanto es Prototype como podría ser cualquier otra.
Se comenta que: La solución "no obstructiva" es colocar a los manejadores de eventos necesarios pragmáticamente, en lugar de en línea. Esto es logrado comúnmente asignando una clase particular de la CSS a todos los elementos que necesiten utilizar el script:
<input type="text" name="fecha" class="campoFecha" />
Nos encontramos con un atributo class para obtener un elemento en un script, lo cual no es del todo correcto. El atributo natural para recuperar un elemento en un script es ID (función nativa document.getElementById()), así lo dicen los estándares: http://html.conclase.net/w3c/html401-es/struct/global.html#adef-id:
· Como medio de hacer referencia a un elemento en particular desde un script.
Sin embargo el uso de class es natural para el manejo de CSS, y no se dice nada de referencias a scripts. Además, no existe una función nativa tipo document.getElementByClassName().
A ver si se redirige este archivo más hacia javascript y menos a prototype.
Obstructivo es una palabra incorrecta, inexistente
La palabra obstructivo no figura ni en la RAE (http://buscon.rae.es/draeI/SrvltGUIBusUsual?TIPO_HTML=2&TIPO_BUS=3&LEMA=obstructivo). Por favor, ya que vamos a castellanizar todos los conceptos y los nombres propios en Wikipedia, qué menos que hacerlo con términos que tienen equivalentes en castellano. Obstructivo es una torpe traducción del inglés 'obstructive'.
Propongo "invasivo" como alternativa.