我在extjs6中有一个滚动菜单,其中包含默认设置,在项目列表顶部和底部的向上/向下按钮进行滚动。在Chrome和IE中,我也可以使用鼠标滚轮滚动它。
问题是在Firefox中,鼠标滚轮无法正常工作,我可以使用两个按钮来滚动菜单。
我在Sencha Fiddle(https://fiddle.sencha.com/#fiddle/1748)中进行了一些测试,发现如果使用extjs4,鼠标滚轮在所有浏览器中都可以正常工作,但在使用extjs6的Firefox中无法正常工作。
是否有解决方法也可以在Firefox中实现此功能?我知道Firefox使用的是“ DOMMouseScroll”事件,而不是“ mousewheel”事件,我尝试将此侦听器添加到菜单中,但无法正常工作。
如果可能的话,我更喜欢使用标准菜单滚动而不是滚动条。
将可滚动属性添加到菜单问题也已在firefox上修复:
Ext.application({
name: 'Fiddle',
launch: function() {
var scrollMenu = Ext.create('Ext.menu.Menu', {
height: 100,
scrollable:{
x:false,
y:true
}
});
for (var i = 0; i < 50; ++i) {
scrollMenu.add({
text: 'Item ' + (i + 1)
});
};
Ext.create('Ext.panel.Panel', {
width: 500,
height: 500,
items: [{
xtype: 'toolbar',
width: '100%',
height: 40,
items: [{
text: 'Scrolling Menu',
menu: scrollMenu
}]
}],
renderTo: Ext.getBody()
});
}
});
如果您只想解决firefox上的问题,则可以设置此属性,以控制所使用的浏览器是否为firefox,并具有以下功能:
if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1)
{
//Do Firefox-related activities
scrollMenu.setConfig('scrollable',{
x:false,
y:true
});
}
按照您的要求进行此操作。
没有滚动条,无法使其在Firefox上正常工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句