JQuery обнаружить изменения в дом вне JQuery - PullRequest
0 голосов
/ 08 апреля 2009

Возможно ли использовать jQuery (или любую другую функцию JavaScript) для обнаружения, когда происходит событие onmouseover?

У меня есть страница, где существующий javaScript вызывает события onmouseover / out, чтобы переписать содержимое div. На самом деле меня интересует только то, что содержится в div, когда над ним наведена мышь. Событие onmouseover генерируется на стороне сервера программой, которую я не могу изменить :(.

Есть предложения о том, как этого добиться?

Ответы [ 4 ]

2 голосов
/ 08 апреля 2009
$("#idOfYourControl").hover(function() { /*mouseover event*/ }, function() { /*mouseout event*/ });
1 голос
/ 08 апреля 2009

В зависимости от того, как сервер записывает оригинальный обработчик при наведении мыши, вы можете использовать простую перезапись, чтобы добавить свой собственный перехват, который затем можно использовать для обнаружения запускаемого старого:

var oldHandler = yourElement.onmouseover;
yourElement.onmouseover = function() {
    //Do whatever new code you want here...
    $j.trigger('oldHandlerCalled');

    oldhandler();
}

Пример быстрого и грязного примера, но вы поняли идею. Нет гарантий, что это не приведет к утечке памяти в IE6;)

Если сервер присоединяет событие через jQuery, вы можете посмотреть в yourElement.data.events и сделать это гораздо более аккуратным способом, чем этот.

1 голос
/ 08 апреля 2009

Вот еще более конкретный пример:

$("#idOfYourControl").hover(
   function() { $('#divToShowText').text($(this).text()) }, 
   function() { $('#divToShowText').text("") }
);
1 голос
/ 08 апреля 2009

Вы можете использовать обработчик событий наведения мыши в jQuery.

http://docs.jquery.com/Events/mouseover#fn

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