получить значение “onclick” с jQuery?

Я просто проверяю свое недавно установленное поле человечности, и оно не было установлено даже с установленным ядром мерзавца. Простое:

sudo apt-get install git-svn

или Ваш эквивалентный дистрибутив должен зафиксировать его.

28
задан Mike Trpcic 12 September 2009 в 17:08
поделиться

5 ответов

Я никогда не делал этого, но это будет сделано так:

var script = $('#google').attr("onclick")
48
ответ дан 28 November 2019 в 02:26
поделиться

mkoryak правильно.

Но, если события связаны к этому узлу DOM с использованием более современных методов (без использования onclick ), тогда этот метод не сработает.

Если это то, что вы действительно хотите, ознакомьтесь с этим вопросом и его принял ответ.

Ура!


Я снова прочитал ваш вопрос. Я хотел бы сказать вам следующее: не используйте onclick , onkeypress и т.п. для привязки событий.

Использование более эффективных методов, таких как addEventListener () позволит вам:

  1. Добавить более одного обработчика событий к определенному событию
  2. выборочно удалить некоторые прослушиватели

Вместо фактического использования addEventListener () вы можете использовать jQuery оболочки, такие как $ ('selector'). Click () .

Ура снова!

13
ответ дан 28 November 2019 в 02:26
поделиться
$('#google').attr('onclick') + ""

Однако Firebug показывает, что это возвращает функцию onclick. Вы можете вызвать функцию позже, используя следующий подход:

(new Function ($('#google').attr('onclick') + ';onclick();'))()

... или используйте RegEx, чтобы удалить функцию и получить только операторы внутри нее.

11
ответ дан 28 November 2019 в 02:26
поделиться

Я не совсем уверен, как это сделать в jQuery ... но это работает:

var x = document.getElementById('google').attributes;
for (var i in x) {
 if (x[i].name == "onclick") alert(x[i].firstChild.data);
}

но, как сказал Харшат, было бы лучше, если бы вы использовали прослушиватели событий, например удаление и добавление эта функция обратно в событие onclick может вызвать проблемы.

4
ответ дан 28 November 2019 в 02:26
поделиться

Не могли бы вы объяснить, чего именно вы пытаетесь достичь? В общем, вам НИКОГДА не нужно получать атрибут onclick из элементов HTML. Также не следует указывать onclick на самом элементе. Вместо этого установите onclick динамически с помощью JQuery.

Но насколько я понимаю, вы пытаетесь переключаться между двумя разными функциями onclick. Что может быть лучше, так это реализовать вашу функцию onclick таким образом, чтобы она могла обрабатывать обе ситуации.

$("#google").click(function() {
    if (situation) {
        // ...
    } else {
        // ...
    }
});
0
ответ дан 28 November 2019 в 02:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: