jquery attr ("onClick") - т.е. и ff - PullRequest
       55

jquery attr ("onClick") - т.е. и ff

5 голосов
/ 02 декабря 2009

Используя jquery, я хотел бы получить javascript из атрибута onClick тега A.

<a href='#' onClick='alert("boo");' />

В Firefox: alert($('a').attr("onClick")) показывает: alert("boo")

В IE 6/7: alert($('a').attr("onClick")) показывает: function anonymous(){alert("boo");return false;}

Как я могу получить только javascript, а не упакованную функцию в IE 6/7, используя jquery? (или простой JavaScript)?

Франко

Ответы [ 5 ]

4 голосов
/ 02 декабря 2009

Как я могу получить только javascript, а не упакованную функцию, в IE 6/7

Как правило, вы вообще не хотите полагаться на строковые значения для встроенных обработчиков событий (фактически вам вообще следует избегать использования встроенных атрибутов обработчиков событий в пользу привязки к функциям из скрипта - особенно если вы используете jQuery, где такой подход является нормой). Но если вам нужно, то в качестве обходного пути используется метод DOM getAttributeNode.

var link= $('a')[0]; // or whatever
alert(link.getAttributeNode('onclick').value);
2 голосов
/ 15 января 2010

Лучше, чем добавление атрибута onclick от имени IE6 / IE7:

$("a").click(function () { .. anything to do .. })
2 голосов
/ 02 декабря 2009

Internet Explorer <8 имеет полностью нарушенную реализацию setAttribute и getAttribute, которые имеют дело со свойством <strong> с заданным именем вместо атрибута .

Я не знаю, как обойти.

0 голосов
/ 02 сентября 2010

Безопасный браузер:

jQuery('a')[0].getAttribute('onclick');
0 голосов
/ 02 декабря 2009

Вы пробовали:

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

В XHTML onClick не верная версия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...