我被要求为我们的页面站点实现ctrl+mousewheel事件,以便在用户放大或缩小时更改图像偏移。我找到了这个老答案,Override browsers CTRL+(WHEEL)SCROLL with javascript,我也试着这么做。我下载了实现的jQuery Mouse Wheel Plugin,下面是我的代码:
var isCtrl = false;
$(document).on('keydown keyup', function(e) {
if (e.which === 17) {
isCtrl = e.type === 'keydown' ? true : false;
}
}).on('mousewheel', function(e, delta) { // `delta` will be the distance that the page would have scrolled;
// might be useful for increasing the SVG size, might not
if (isCtrl) {
e.preventDefault();
alert('wheel');
}
});这两个事件单独运行良好,但如果我按住CTRL按钮并滚动鼠标,滚轮事件不会触发。有没有人有更好的解决方案,或者可能是我做错了什么?
发布于 2015-10-12 22:40:48
Fiddle,为了让它正常工作,你必须先点击result框,然后再尝试。
$(window).bind('mousewheel DOMMouseScroll', function(event)
{
if(event.ctrlKey == true)
{
event.preventDefault();
if(event.originalEvent.detail > 0) {
console.log('Down');
}else {
console.log('Up');
}
}
});https://stackoverflow.com/questions/33083484
复制相似问题