简体   繁体   中英

jquery attr(“onClick”) - ie and ff

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.

比添加onclick属性更好的是代表IE6 / IE7这个解决方案:

$("a").click(function () { .. anything to do .. })

Have you tried :

alert($('a').attr("onclick"))

In XHTML onClick is not the right version.

浏览器安全:

jQuery('a')[0].getAttribute('onclick');

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM