funcion - onload table javascript
agregar un evento onclick a un div (3)
¿Es posible agregar onclick a un div y hacer que ocurra si se hace clic en cualquier área del div?
Sí ... aunque debería hacerse con precaución. Asegúrese de que haya algún mecanismo que permita el acceso al teclado. Desarrollar cosas que funcionan
En caso afirmativo, ¿por qué el método onclick no va a mi div?
Está asignando una cadena donde se espera una función.
divTag.onclick = printWorking;
Sin embargo, existen formas más agradables de asignar manejadores de eventos, aunque las versiones anteriores de Internet Explorer son lo suficientemente diferentes como para usar una biblioteca para abstraerlo. Hay muchas bibliotecas de eventos muy pequeñas y cada biblioteca principal (como YUI o jQuery ) tiene funcionalidad de manejo de eventos.
No sé si esto está permitido o incluso es posible. ¿Es posible crear un elemento div con un evento onclick para que si se hace clic en cualquier lugar en el área del div, el evento se ejecutará.
Ej. JAVASCRIPT:
var divTag = document.createElement("div");
divTag.id="new-ID";
var onClickCommand = "printWorking()" //printworking is another method that simply print "I''m working" to the console
divTag.onclick = onClickCommand;
console.log("onclick command added");
console.log(divTag.onclick);
parentDiv.appendChild(divTag); //This simply adds the div tag to the page.
HTML generado:
<!--<div id="new-ID">-->
whatever content I decide to add to the divTag.innerHTML
Observé cómo no hay ningún comando onclick que atraviese el div generado. Id esto porque no está permitido?
Entonces 2 preguntas entonces.
1: ¿Es posible agregar onclick a un div y hacer que ocurra si se hace clic en cualquier área del div? 2: En caso afirmativo, ¿por qué el método onclick no está en mi div?
Qué tan extraño:
divTag.setAttribute("onclick", "printWorking()");
Arriba funciona sin problemas.
Todos a continuación no lo hacen y no pasarán el clic en el div.
divTag.onclick=printWorking;
divTag.onclick="printWorking";
divTag.onclick="printWorking()";
También se han probado otras muchas variantes.
Asigna el onclick así:
divTag.onclick = printWorking;
La propiedad onclick no tomará una cadena cuando esté asignada. En cambio, toma una referencia de función (en este caso, printWorking
).
El atributo onclick puede ser una cadena cuando se asigna en HTML, por ejemplo, <div onclick="func()"></div>
, pero esto generalmente no se recomienda.
Todo funciona bien. No puede usar el atributo divtag.onclick, becease "onclick" no existe. Primero necesita crear este atributo usando .setAttribute (). Mire en este http://reference.sitepoint.com/javascript/Element/setAttribute . Primero debe leer la documentación antes de comenzar a dar "-".