触发后没有给出鼠标位置()

时间:2012-08-15 20:05:15

标签: jquery events triggers

问题非常简单:

$('#btn1').click(function(event){
    alert(
        "pageX: " + event.pageX +
        "\npageY: " + event.pageY
    );
});

$('#btn2').mouseout(function(e){
   $('#btn1').trigger('click');
});

第二个按钮警告未定义的变量。有没有办法在传递鼠标位置时触发click事件?

这是jsfiddle

1 个答案:

答案 0 :(得分:8)

试试这个

$('#btn1').click(function(event){
    alert(
        "pageX: " + event.pageX + 
        "\npageY: " + event.pageY
    );
});

$('#btn2').click(function(e){
    $('#btn1').trigger(e);
});

只需传递包含所有内容的原始event object

​DEMO

您也可以创建自定义event object并按如下方式传递

$('#btn2').click(function(e){
    var evt={
        'type':'click',
        'pageX':e.pageX,
        'pageY':e.pageY
    };
    $('#btn1').trigger(evt);
});

DEMO