繁体   English   中英

`mousemove`并触发自定义事件

[英]`mousemove` and triggering a custom event

mousemove事件中:

$(document).on('mousemove', function( e ){
    console.log( e.pageX );
    console.log( e.pageY );
});

如您所见,我们可以使用pageXpageY来获取鼠标位置的xy坐标。 但是,我想要的是在mousemove上触发我的自定义事件,并希望在我的该自定义事件中获取这些pageXpageY值。 更清楚地说,我想做的是:

$(document).on('mousemove', function(){
    $(document).trigger('myevent');
});

$(document).on('myevent', function( e ){
    // console.log( e.pageX );
    // console.log( e.pageY );
});

有没有什么办法来访问这些pageXpageYmyevent

.trigger()允许通过其参数传递其他数据。 你可以打电话

$(document).on('mousemove', function( event ){
    $(document).trigger('myevent', event);
});

现在,您可以在自定义事件代码中访问整个原始event对象。

另一种选择是创建一个自定义事件,例如

 $(document).on('mousemove', function(e) { var event = $.Event('myevent', { pageX: e.pageX, pageY: e.pageY }); $(document).trigger(event); }); $(document).on('myevent', function(e) { log(e.pageX + ':' + e.pageY) }); var log = function(message) { var $log = $('#log'); $log.html(message) }; 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div id="log"></div> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM