removeattribute removeattr evento ejemplo disabled attribute javascript onclick

javascript - evento - removeattr disabled



OnClick sin jQuery (9)

Cómo hacer onclick sin jQuery, sin código adicional en HTML, como por ejemplo:

<a href="#" onclick="tramtramtram">

¿Solo usando un archivo extrnal js?

<script type="text/javascript" src="functions.js"></script>

Necesito reemplazar este código:

$("a.scroll-up, a.scroll-down").click(function(){ SNavigate($(this).attr("href").substr(7));return false; });


Cuando este delimitador contendrá solo una función para manejar al hacer clic, entonces solo puede escribir

document.getElementById(''anchorID'').onclick=function(){/* some code */}

de lo contrario, debe usar el método DOM addEventListener

function clickHandler(){ /* some code */ } var anchor = document.getElementById(''anchorID''); if(anchor.addEventListener) // DOM method anchor.addEventListener(''click'', clickHandler, false); else if(anchor.attachEvent) // this is for IE, because it doesn''t support addEventListener anchor.attachEvent(''onclick'', function(){ return clickHandler.apply(anchor, [window.event]}); // this strange part for making the keyword ''this'' indicate the clicked anchor

también recuerde llamar al código anterior cuando se cargan todos los elementos (por ejemplo, en window.onload)

- editar

Veo que agregaste algunos detalles. Si quieres reemplazar el código a continuación

$("a.scroll-up, a.scroll-down").click(function(){SNavigate($(this).attr("href").substr(7));return false;});

con algo que no usa jQuery, esto debería hacer el trabajo

function addEvent(obj, type, fn) { if (obj.addEventListener) obj.addEventListener(type, fn, false); else if (obj.attachEvent) obj.attachEvent(''on'' + type, function() { return fn.apply(obj, [window.event]);}); } addEvent(window, ''load'', function(){ for(var i=0, a=document.anchors, l=a.length; i<l;++i){ if(a[i].className == ''scroll-up'' || a[i].className == ''scroll-down''){ addEvent(a[i], ''click'', function(e){ SNavigate(this.href.substr(7)); e.returnValue=false; if(e.preventDefault)e.preventDefault();return false}); } } });


Debe usar getElementById para agregar el controlador onclick. Sin embargo, debe iniciar su código en algún lugar. Sin jQuery solo puedes usar el controlador de carga en el cuerpo:

<body onload="myinitfunction()">

myinitfunction puede estar en un archivo js externo.


Ejecute este script cuando se cargue el documento (reemplazando la alerta con sus cosas):

var rgLinks = document.getElementsByTagName("A"); for (var x=0; x<rgLinks.length; x++) { el = rgLinks[x]; if (el.className == ''scroll-down'' || el.className == ''scroll-down'') { el.onclick = function () {alert(''onclick'');}; } }

Tal vez eso es lo que preguntas sobre ...


Qué tal esto :

document.getElementById("lady").onclick = function () {alert(''onclick'');};


Sin código adicional en el html, aquí hay una forma de hacerlo:

<html><body><head><script> // This script could be in an external JS file function my_handler(elt) { alert("Yay!"); return false; } function setup() { document.getElementById(''lady'').onclick = my_handler; } window.onload = setup; </script></head> <body><a href=''#'' id=''lady''>Test</a></body> </html>


Solo usa el atributo onclick .

<a href="#" onclick="functionName(someParam)">

O para hacerlo desde javascript,

document.getElementById("anchorID").onclick = function(){ some code };


W3C sugiere:

element.addEventListener(''click'',doSomething,false)

Microsoft usa:

element.attachEvent(''onclick'',doSomething)

Puede hacer alguna detección de características y determinar qué llamada usar.

De http://www.quirksmode.org/js/events_advanced.html .


var el = document.getElementById (''lady''); el.addEventListener ("click", tramtramtram, falso);


<script> function tramtramtram(){ alert("tram it!"); } </script> <a href="#" onclick="tramtramtram()">tramtram</a>