Jquery 如何启用一些键盘';不可编辑字段上的s键

Jquery 如何启用一些键盘';不可编辑字段上的s键,jquery,Jquery,我有一个不可编辑的输入标记,但有时我需要按delete或back space键删除其中的文本。我该怎么做呢?我建议不要使用backspace键,因为它通常与浏览器的back按钮相关联 下面是如何使用解决您的问题,并且只使用delete键(jQuery规范化e.which): 有 上面通过将.keyup()附加到文档,捕获页面上任意位置的按键。您必须这样做,因为输入不可编辑 您也可以使用,但最好不要使用 keydown和keyup提供一个代码,指示按下了哪个键,而keypress指示输入了哪个

我有一个不可编辑的输入标记,但有时我需要按delete或back space键删除其中的文本。我该怎么做呢?

我建议不要使用backspace键,因为它通常与浏览器的back按钮相关联

下面是如何使用解决您的问题,并且只使用delete键(jQuery规范化
e.which
):


上面通过将
.keyup()
附加到
文档
,捕获页面上任意位置的按键。您必须这样做,因为
输入不可编辑

您也可以使用,但最好不要使用

keydown和keyup提供一个代码,指示按下了哪个键,而keypress指示输入了哪个字符。由于这种区别,在捕捉特殊的击键(如箭头键)时,.keydown()或.keyup()是更好的选择


由于可擦除的不可编辑输入元素似乎是一个奇怪的概念,您最好在文本输入旁边添加一个“重置/擦除”控件,该控件将具有相同的功能和行为(包括键绑定)


Value和title只是示例,后者应该以一种不含糊的方式描述submit控件的用途(可以有许多重置控件,显然还有一个真正的submission表单元素)

请注意,浏览器、浏览器插件和其他增强键盘功能的程序(如自动热键和宏)已经使用了许多键,盲人使用的屏幕阅读器几乎使用了浏览器中可以想到的所有键和死键组合;因此,请提供一个机制,可以禁用您的功能

$(document).keyup(function(e) {
    if (e.which == 46) {                     // 46 is the code for the delete key
        $(inputSelector).val("");
    }
});
<p>
  <input type="text" readonly="readonly" value="I can't be edited">
  <input type="submit" value="(reset)" title="Suppress text in the previous input">
</p>