【发布时间】:2010-07-26 19:40:27
【问题描述】:
我已经为此苦苦挣扎了一段时间.. 我正在使用此代码来监视鼠标滚轮,因此它可以用于使用我拥有的滑块进行滚动.. 但是,它的操作存在问题排队,所以如果你用鼠标滚轮快速滚动(就像任何人通常会做的那样),它们会堆积起来,这会导致错误的行为。我知道用动画处理这类问题,但用鼠标滚轮监视器不知道。..
我想在动作开始时取消绑定鼠标滚轮(在这种情况下,移动鼠标滚轮后滚动滚动条)然后在此之后重新绑定它,所以如果用户滚动太多太快它只是忽略直到初始滚动完成。我尝试了下面的代码,但它没有重新绑定,所以我不确定我做错了什么,感谢任何建议。
$("#wavetextcontainer").bind("mousewheel", function(event, delta) {
//HERE IS WHERE EVENT IS UNBOUND:
$("#wavetextcontainer").unbind("mousewheel");
var speed = 10;
var mySlider = $("#slider");
var sliderVal = mySlider.slider("option", "value");
sliderVal += (delta*speed);
if (sliderVal > mySlider.slider("option", "max")) sliderVal = mySlider.slider("option", "max");
else if (sliderVal < mySlider.slider("option", "min")) sliderVal = mySlider.slider("option", "min");
$("#slider").slider("value", sliderVal);
event.preventDefault();
// HERE I WANT TO REBIND THE EVENT:
$("#wavetextcontainer").bind("mousewheel");
});
【问题讨论】:
标签: jquery mousewheel unbind