Javascript 获取调用$(window.bind(";mousewheel";)函数的元素
我在jQuery中有一个鼠标滚轮函数绑定到控制滑块的窗口元素 现在,我还有一个可滚动的Javascript 获取调用$(window.bind(";mousewheel";)函数的元素,javascript,jquery,html,Javascript,Jquery,Html,我在jQuery中有一个鼠标滚轮函数绑定到控制滑块的窗口元素 现在,我还有一个可滚动的ul项,在滚动时,我也不想更改滑块 我是否可以将窗口.bind功能与$(此)功能组合在一起,以便在ul中滚动时不更改滑块 下面是滚动条上滑块更改的代码 $(window).bind('mousewheel', function(e) { if(e.originalEvent.wheelDelta / 120 > 0) { //INCREASE SLIDER ON SCROLL UP
ul
项,在滚动时,我也不想更改滑块
我是否可以将窗口.bind
功能与$(此)
功能组合在一起,以便在ul
中滚动时不更改滑块
下面是滚动条上滑块更改的代码
$(window).bind('mousewheel', function(e) {
if(e.originalEvent.wheelDelta / 120 > 0) {
//INCREASE SLIDER ON SCROLL UP
} else {
//DECREASE SLIDER ON SCROLL UP
}
});
当我增加或减少滑块时,我想检查是否在
ul
元素中调用了此鼠标滚轮动作。如果是,则滑块不应更改。如果我理解您的问题,请使用:
$(window).bind('mousewheel', function(e) {
if($(e.target).closest('ul').length) return;
if(e.originalEvent.wheelDelta / 120 > 0) {
//INCREASE SLIDER ON SCROLL UP
} else {
//DECREASE SLIDER ON SCROLL UP
}
});
我会这样做,使它跨浏览器:
if (document.addEventListener) {
document.addEventListener("mousewheel", MouseWheelHandler, false); //IE9, Chrome, Safari, Oper
document.addEventListener("wheel", MouseWheelHandler, false); //Firefox
} else {
document.attachEvent("onmousewheel", MouseWheelHandler); //IE 6/7/8
}
function MouseWheelHandler(){
e = window.event || e;
var delta = Math.max(-1, Math.min(1, (e.wheelDelta || -e.deltaY || -e.detail)));
//scrolling down?
if (delta < 0) {
}
//scrolling up?
else {
}
}
if(document.addEventListener){
document.addEventListener(“mousewheel”,MouseWheelHandler,false);//IE9,Chrome,Safari,Oper
document.addEventListener(“wheel”,mouseweelHandler,false);//Firefox
}否则{
document.attachEvent(“onmousewheel”,MouseWheelHandler);//IE 6/7/8
}
函数mouseweelHandler(){
e=window.event | | e;
var delta=数学最大值(-1,数学最小值(1,(e.Wheel delta | | |-e.deltaY | |-e.细节));
//向下滚动?
if(δ<0){
}
//向上滚动?
否则{
}
}
如果($(e.target).最接近('ul').长度)
???e.target确实解释了它是如何工作的。再次给出完美的答案。非常感谢!:)这在IE8上不起作用。事件将永远不会被触发。@阿尔瓦罗,这是正确的,但与OP问题无关,那么为什么要投否决票?@A.Wolff是的,很好。你是对的。只需编辑答案,我就可以再次更改投票。@Alvaro没关系,我不会为此哭泣;)@A.沃尔夫不太喜欢。如果你用$(window.bind('mousewheel',function(e){
测试了它,你是对的,但这根本不能回答OP的问题