javascript - funcion - onclick jquery html
¿Cómo establecer el atributo OnClick con el valor que contiene la función en ie8? (4)
Mi objetivo es cambiar el atributo "onclick" de un enlace. Puedo hacerlo con éxito, pero el enlace resultante no funciona en ie8. Funciona en ff3.
Por ejemplo, esto funciona en firefox3, pero no ie8. ¿¿¿Por qué???
<p><a id="bar" href="#" onclick="temp()">click me</a></p>
<script>
doit = function(){
alert(''hello world!'');
}
foo = document.getElementById("bar");
foo.setAttribute("onclick","javascript:doit();");
</script>
No necesita utilizar setAttribute para eso: este código funciona (IE8 también)
<div id="something" >Hello</div>
<script type="text/javascript" >
(function() {
document.getElementById("something").onclick = function() {
alert(''hello'');
};
})();
</script>
También puede configurar onclick para llamar a su función de esta manera:
foo.onclick = function() { callYourJSFunction(arg1, arg2); };
De esta manera, también puedes pasar argumentos. .....
También puedes usar:
element.addEventListener("click", function(){
// call execute function here...
}, false);
su mejor apuesta es usar un marco javascript como jquery o prototype, pero, en su defecto, debería usar:
if (foo.addEventListener)
foo.addEventListener(''click'',doit,false); //everything else
else if (foo.attachEvent)
foo.attachEvent(''onclick'',doit); //IE only
editar:
Además, tu función está un poco apagada. debería ser
var doit = function(){
alert(''hello world!'');
}