检查空格键是否被按下,鼠标是否同时使用jQuery移动?
有没有办法检查空格键,同时跟踪鼠标移动的方向和距离等等。
这一点是我要复制Photoshop按住空格键,鼠标左键并移动鼠标时的滚动方式,而无需按住鼠标左键。
您可以使用keydown()
和keyup()
来跟踪空格键是否被按下,并在mousemove()
事件处理程序中查看该状态。 例如:
var space = false; $(function() { $(document).keyup(function(evt) { if (evt.keyCode == 32) { space = false; } }).keydown(function(evt) { if (evt.keyCode == 32) { space = true; console.log('space') } }); });
然后你的mousemove()
处理程序可以看到它是否被按下。
您可能必须注意keydown事件,检查它是否为空格键,设置一个变量表示它已关闭,在看到keyup事件时取消设置。
那么,当设置该变量指示空格键被按下时,您将查找鼠标移动。
这是我的解决方案:
var allowed = true; $(document).ready( function () { $(document).bind('keydown', 'space', function () { if (!allowed) return; allowed = false; $('#viewport'). dragscrollable(); }); $(document).bind('keyup', 'space', function () { allowed = true; $('#base').off('mousedown'); return false; }); });
适用于jQuery和Dragscrollable插件。
- 定义/调用同位素onLayout中的函数
- jQuery(“sel1”)中是否有任何区别.add(“sel2”)和jQuery(“sel1,sel2”)
- 使用javascript在文本中插入链接而不替换div的整个内容
- 使用php mysql jquery ajax更新选择框的值
- 如何从元素中删除所有inheritance和计算的样式?
- Jquery .ready()vs window.onload
- 如何在JavaScript中检测方法链的结束?
- 使用javascript中的mousemove事件在canvas内的图像上绘制一个矩形
- blueimp jQuery-File-Upload – 如何在没有附加文件的情况下提交表单?