2012-05-09 2 views
-4

Я хотел бы изменить событие триггера набора обработчиков событий через jQuery.Измените событие запуска обработчика события

Например, если у меня есть:

<div id=abc>Hello world</div> 

И

$("#abc").on("mouseover",alert); 

Есть ли способ, чтобы переназначить mouseover событие mousemove? Обратите внимание, что он не должен содержать исходное событие mousemove.

(я хочу, чтобы иметь возможность изменить поведение объекта на сайте через userscript)

+0

Кроме того, по какой-то причине '$ (...). Data (" events ")' теперь не работает. Почему? – Manishearth

ответ

1

Я довольно уверен, что это так просто, как это:

$("#abc").mouseover($("#abc").mouseout); 

Повороты это на самом деле не так просто. Вы хотите:

$("#abc").data("events")["mouseover"][0].handler; 
+0

Я пробовал это с 'off (mouseover)'. Используя Visual Event, я вижу, что событие mouseover все еще существует, а событие mouseout - пустой бит. – Manishearth

+0

Давайте посмотрим. Редактирование моего ответа. –

+0

На самом деле, я хочу сделать mouseover -> mousemove (просто использовал другой пример). У меня есть этот код, и я пытаюсь запустить его на главной странице SO: '$ ('. Post-tag'). Each (function() { $ (this) .mousemove ($ (this) .mouseover) $ (this) .off ("mouseover"); }); ' – Manishearth

Смежные вопросы