目前,当鼠标移动时,我会“做一些事情”。但是,如果用户调整浏览器的大小或向下滚动浏览器,我也想做完全相同的事情。
jQuery(document).bind('mousemove',function(e){
var x,y;
x = e.pageX; // x坐标
y = e.pageY; // y coord
//其他的东西
});
我试着做
jQuery(document).bind('mousemove resize scroll',function(e){...
但是没有用。我也试过
jQuery(document, window).bind('mousemove resize scroll',function(e){...
但它也不起作用。
我也知道您可以使用
$(window).scroll(function(){
并使用
$(window).resize(function() {
但是如果使用这些检测,我将没有“ e”参数来获取鼠标的x和y坐标
如何将所有3个事件都绑定到一个函数中?
谢谢
最佳答案
您仍然在scroll和resize方法中具有事件数据。尝试将您的代码包装到具有3个处理程序的单个函数中。 on()方法需要jQuery 1.7+
function reusable(eData){
// Heres what you want to do every time
}
$(document).on({
mousemove: function(e) { reusable(e); },
scroll : function(e) { reusable(e); }
);
$(window).on({
resize : function(e) { reusable(e); }
});
已编辑
这些事件应位于其正确的对象
window
和document
中,否则您将获得意外的值。关于javascript - 如何将mousemove滚动绑定(bind)并全部调整为一个函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10591741/