Jquery dispatchEvent метод-обертка
Есть ли в jquery метод-обертка или какая-то библиотека для dispatchEvent? Я искал это в stackoverflow, но самый близкий метод, который я нашел, это trigger () jquery, который, по-видимому, вызывает только прослушиватели событий jquery. Конечно, я мог бы просто использовать dispatchEvent, но я хочу использовать jquery, чтобы сделать мой код легче для чтения.
Я пишу сценарий greasemonkey, где я хочу вызвать событие для какого-нибудь анонимного слушателя событий. Сама страница не написана в jquery.
Вот ссылка на jsfiddle, чтобы объяснить, что я пытаюсь сделать:http://jsfiddle.net/Zx3CA/
ЯШ:
function log(s){
document.getElementById('log').innerHTML+=s+'<br/>';
}
$(function(){
//code on the page, which shouldn't be changed
//start
document.getElementById('link').addEventListener('click',function(){
log('click detected');
},false);
//end
$('#triggerClickJQuery').on('click',function(){
$('#link').trigger('click');
});
$('#triggerClickJS').on('click',function(){
var event=document.createEvent('MouseEvents');
event.initMouseEvent('click',true,true,null,-1,-1,-1,-1,0,true,false,false,true,0,null);
$('#link').get(0).dispatchEvent(event);
});
});
HTML:
<body>
<a id="link" href="javascript:void(0);">Link</a><br/>
<a id="triggerClickJQuery" href="javascript:void(0);">Trigger Click JQuery</a><br/>
<a id="triggerClickJS" href="javascript:void(0);">Trigger Click JavaScript</a><br/>
<div id="log"></div>
</body>
Заранее спасибо.