Método de envoltura de Jquery dispatchEvent

¿Hay un método de envoltura o alguna biblioteca para dispatchEvent en jquery? He estado buscando esto en stackoverflow, pero el método más cercano que he encontrado es el disparador de jquery (), que parece que solo activa detectores de eventos de jquery. Por supuesto, yo solo podría usar dispatchEvent, pero quiero usar jquery para que mi código sea más fácil de leer.

Estoy escribiendo un script de greasemonkey, donde quiero disparar un evento a algún oyente de eventos anónimo. La página en sí no está escrita en jQuery.

Aquí hay un enlace de jsfiddle para explicar lo que estoy tratando de lograr:http://jsfiddle.net/Zx3CA/

js

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>

Gracias por adelantado.

Respuestas a la pregunta(1)

Su respuesta a la pregunta