如何在javascript中禁用输入文本框上的键盘事件

如何在javascript中禁用输入文本框上的键盘事件,javascript,css,input,keyboard,Javascript,Css,Input,Keyboard,我有一个图像,我用键盘对它进行一些操作(平移、缩放…)。在图像上方,我有一个输入文本框,显示数据集中图像的编号。 当光标位于文本框上时,如何禁用图像操纵?(即禁用我分配给每个键盘的行为)。我还希望仍然能够编辑文本框(例如移动到图像编号xx)。根据我在这里读到的内容,我认为解决方案应该是这样的: // input text field var currentPosDisplay = $('<input type=text id="currentPos" onkeypress="re

我有一个图像,我用键盘对它进行一些操作(平移、缩放…)。在图像上方,我有一个输入文本框,显示数据集中图像的编号。 当光标位于文本框上时,如何禁用图像操纵?(即禁用我分配给每个键盘的行为)。我还希望仍然能够编辑文本框(例如移动到图像编号xx)。根据我在这里读到的内容,我认为解决方案应该是这样的:

 // input text field
   var currentPosDisplay = $('<input type=text id="currentPos"  onkeypress="return  disableManipulation();" value="1" style="display:inline" >');
//输入文本字段
var currentPosDisplay=$('');

但是我不知道如何实现disableManipulation(),这样当我按下键盘(文本框内)时,只会出现默认行为(而不是图像操作)

您可以检查输入元素是否具有焦点:

如果确实如此,不要应用图像处理


从onkeypress处理程序返回false将忽略按下的键,但如果您有焦点,听起来您无论如何都不想这样做。

听起来您想让用户更改
输入中的值,但您不想在文档(或其他容器)级别看到这些事件,在这里,您已经钩住了用于图像处理的键盘事件

如果是这种情况,您可以使用
事件#停止播放

var currentPosDisplay = $('<input type=text id="currentPos" value="1" style="display:inline" >');
currentPosDisplay.on("keypress keydown keyup", function(e) {
    e.stopPropagation();
});
var currentPosDisplay=$('');
currentPosDisplay.on(“按键向下键向上”),功能(e){
e、 停止传播();
});