используйте jQuery для поиска объекта события - PullRequest
0 голосов
/ 01 декабря 2010

В jQuery есть замечательные селекторы для элементов DOM, но вы можете «выбрать» объект события.

То есть, если я использую встроенный javascript для атрибута 'onclick' элемента, могу ли я иметь селектор для поиска этого объекта события, чтобы я мог воздействовать на него.

Я знаю, что могу сделать что-то вроде этого:

$("a#some_link").click(function(event){//act on event here});

Но как бы я нашел объект события, если бы использовался встроенный JavaScript:

<a href="somepage.html" onclick="alert('how do I get my event oject?');">click me</a>

Этот вопрос является дополнением к более раннему вопросу: вызов e.stopImmediatePropagation () из атрибута onclick

Ответы [ 3 ]

1 голос
/ 01 декабря 2010
onclick = "alert(event.type);return false;"

<a id="some_link" href="somepage.html" onclick="alert(event.type);return false;">click me</a>

Проверьте это

1 голос
/ 01 декабря 2010

Простой $('a').attr('onclick') получает вам эти данные.В Firefox он упакован с function() { }

0 голосов
/ 01 декабря 2010

Ну, это должно найти события 'onclick', я не верю, что он захватывает связанные с jQuery события.

$("a,input").filter(function() {
    return $.isFunction(this.onclick)
});

Если есть какие-либо другие типы тегов, на которых вы могли бы иметь такое событие, топотребуется добавить их, вы можете использовать "*" в качестве селектора, но это довольно медленно.

...