Using jquery, I'd like to get the javascript from an A tag's onClick attribute.
<a href='#' onClick='alert("boo");' />
In Firefox: alert($('a').attr("onClick"))
shows: alert("boo")
In IE 6/7: alert($('a').attr("onClick"))
shows: function anonymous(){alert("boo");return false;}
How can I retrieve just the javascript, and not the wrapped function, in IE 6/7 using jquery? (or plain javascript)?
Franko
How can I retrieve just the javascript, and not the wrapped function, in IE 6/7
You generally don't want to rely on string values for inline event handlers at all (in fact you should generally avoid using inline event handler attributes altogether in favour of binding to functions from script — especially if you're using jQuery, where this approach is the norm). But if you have to, the workaround is the DOM method getAttributeNode
.
var link= $('a')[0]; // or whatever
alert(link.getAttributeNode('onclick').value);
Internet Explorer <8 has a completely broken implementation of setAttribute and getAttribute which deal with the property with the given name instead of the attribute.
I'm not aware of a work around.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With