在javascript中将eventdata传递给事件处理程序

我有两个div:

<div id="div1"></div>
<div id="div2"></div>

我有div1的以下jquery:

 $('#div1').click(function(e)
{
alert(e.pageX + ' ' + e.pageY);
});

.
现在,我想触发div1的click eventhandler来执行divc的clcicking.
为此,我写道:

$('div2').click(function(e)
{
$('#div1').trigger('click');
});

它工作正常,但问题是我无法在div1的事件处理程序中获得e.pageX和e.pageY.
如何传递div2 click事件处理程序的eventdata,即div1 click事件处理程序.
请帮忙.

解决方法:

由于您要触发的事件属于同一类型,因此您可以直接传递旧事件对象:

$('#div2').click(function (e) {
    $('#div1').trigger(e);
});

对于不同类型的事件,您可以创建自定义事件对象:

$('#div2').mouseenter(function (e) {
    var newE = jQuery.Event('click');
    newE.pageX = e.pageX;
    newE.pageY = e.pageY;
    $('#div1').trigger(newE);
});

相关文章

1.第一步 设置响应头 header(&#39;Access-Control-Allow...
$.inArray()方法介绍 $.inArray()函数用于在数组中搜索指定的...
jquery.serializejson.min.js的妙用 关于这个jquery.seriali...
JS 将form表单数据快速转化为object对象(json对象) jaymou...
jQuery插件之jquery.spinner数字智能增减插件 参考地址:http...