我正在使用鼠标滚轮事件。我想要像“开始”和“停止”这样的功能。只要鼠标滚轮停止,启动功能就会执行,只要鼠标滚轮停止,停止功能就会执行?
在jquery中的mousewheel事件中是否有回调函数?
var matched = jQuery.uaMatch(navigator.userAgent);
var eventName = matched.browser.toLowerCase() == "mozilla" ? "DOMMouseScroll" : "mousewheel";
$(this.element).on(eventName, this.chartMouseWheel);
chartMouseWheel:function()
{
start:
{
},
stop:
{
},
}
我需要在鼠标滚轮启动时进行一些操作,并在鼠标滚轮结束时执行其他操作?
我该怎么做?
谢谢,
希瓦
答案 0 :(得分:2)
在这里,您可以看到如何上下拦截鼠标滚轮:http://jsfiddle.net/ykv5S/9/
代码:
$('#test').bind('mousewheel', function(event, delta) {
var dir = delta > 0 ? 'Up' : 'Down';
$("#output").html(dir)
});
现在我认为您需要添加一些步骤来了解鼠标速度,并在= = 0时获取
在SO上找到类似的问题:看看这里,也许很有用:
答案 1 :(得分:1)
jQuery中没有直接的功能。
这就是我使用的:
window.addEventListener("mousewheel", mousewheel, false); // chrome
window.addEventListener("DOMMouseScroll", mousewheel, false); // firefox
(mousewheel
是函数的名称)
如果只想在鼠标指针悬停在元素上时处理滚轮,请执行以下操作:
$myElement.mouseenter(function() {
window.addEventListener("mousewheel", mousewheel, false); // chrome
window.addEventListener("DOMMouseScroll", mousewheel, false); // firefox
}).mouseleave(function() {
window.removeEventListener("mousewheel", mousewheel, false);// chrome
window.removeEventListener("DOMMouseScroll", mousewheel, false);// firefox
});
<强> Demonstration 强>