javascript - 如何将输入字段恢复为其默认行为?

标签 javascript dom-events

我正在开发一个默认情况下阻止输入字段中退格的网站,但对于此特定输入,我想将其返回到其默认行为以接受退格

最简单的方法是什么?基本上我需要与 preventDefault() 相反的内容。

更新:我在评论中添加了以下消息,但认为这对问题很重要。所以这里是:

不幸的是,我不知道它如何防止退格。我正在创建一个 Chrome 扩展程序,它将输入字段注入(inject)到页面中。除了退格键之外,一切正常。我试图找到阻止它的代码,但这是不可能的。

我创建该字段的代码是这样的:

if(!document.getElementById("input_typing")){
        var input = document.createElement('input');
        input.id = "input_typing";
        input.tabIndex = 1;
input.style.width = "95%";
        input.focus();
        txts[i].parentNode.appendChild(input);
}

最佳答案

我的想法是:可以在文档中附加一个处理程序,以便*站点可以防止退格*

我不确定这一点,但我创建了一个片段来阐明我的想法:

如果事件处理程序阻止退格键上的默认操作,您可以为新创建的输入字段添加新的事件处理程序以停止传播。

//
// Let's assume this is the site handler to prevent backspace
//
document.addEventListener('keydown', function(e) {
  if (e.which === 8) {
    e.preventDefault();
  }
});


//
// your new element
//
if(!document.getElementById("input_typing")){
  var input = document.createElement('input');
  input.id = "input_typing";
  input.tabIndex = 1;
  input.style.width = "95%";
  input.focus();
  document.querySelectorAll('input[type="text"]')[0].parentNode.appendChild(input);

  //
  // Add the keydown event handler to stop propagation
  //
  input.addEventListener('keydown', function(e) {
    e.stopPropagation();
  });
}
<form action="action_page.php">
    First name:<br>
    <input type="text" name="firstname" value="Mickey">
    <br>
    Last name:<br>
    <input type="text" name="lastname" value="Mouse">
    <br><br>
    <input type="submit" value="Submit">
</form>

关于javascript - 如何将输入字段恢复为其默认行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39551439/

相关文章:

javascript - React/JS - onMouseOver 改变文本

javascript - 如何更改鼠标悬停和鼠标悬停时的动画颜色?

javascript - onclick 事件与 insertCell 问题 - Javascript

javascript - 显示 : table-cell absolute positioning query

javascript - tv-tab-container js 用于带有闭包库的工作选项卡

Javascript 方法看不到对象变量

javascript - 使用 JavaScript 更改字体大小

JavaScript 准确跟踪哪些键被按下

javascript - 每 3 位数字中为货币添加一个点

javascript - 带有按钮的 Jquery 自动 slider