繁体   English   中英

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

[英]how to disable keyboard events on an input text box in javascript

我有一个图像,我使用键盘对它应用一些操作(翻译,缩放..)。 在图像上方,我有一个输入文本框,显示数据集中的图像编号。 当光标在文本框上时,如何禁用图像处理? (即禁用我分配给每个键盘的行为)。 我还想能够编辑文本框(例如移动到图像编号xx)。 从我在这里读到的IPad禁用keyevent输入 ,我认为解决方案将是这样的:

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

但我不知道如何实现disableManipulation(),以便当我按下键盘(文本框内)时,只发生默认行为(而不是图像处理)

听起来您想让用户更改input的值,但您不希望在文档(或其他某个容器)级别看到这些事件,您已经将键盘事件挂钩以进行图像处理。

如果是这种情况,您可以使用Event#stopPropagation

var currentPosDisplay = $('<input type=text id="currentPos" value="1" style="display:inline" >');
currentPosDisplay.on("keypress keydown keyup", function(e) {
    e.stopPropagation();
});

您可以检查输入元素是否具有焦点: 如何找出哪个DOM元素具有焦点?

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

从onkeypress处理程序返回false将忽略按下的键,但如果你有焦点,听起来好像你不想要那样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM