javascript - 在 HTML 中,如何停止激活容器按钮的空格键的传播

标签 javascript html dom-events

假设我有一个 <input>里面 <button>像下面这样。在 onclick 内执行 stopPropagation停止点击文本输入来激活包含按钮。但是,当我在该文本输入内按空格键时,如何阻止该事件传播并从而启动按钮?

换句话说,我想在下面的文本输入中自由输入空格字符而不收到警报。这可以吗?

我认为答案可能是 onkeyuponinput停止传播,但这样做不会改变任何东西。

<button onclick="alert('button activated');">
   Part of label
   <input type="text" 
          onclick="(arguments[0] || window.event).stopPropagation();">
   End of label
</button>

最佳答案

您可以添加 onkeyuppreventDefault,以防止释放space 按键而触发该按钮点击。

<button onclick="alert('button activated');">
   Part of label
   <input type="text"
          onkeyup="(arguments[0] || window.event).preventDefault();" 
          onclick="(arguments[0] || window.event).stopPropagation();">
   End of label
</button>

关于javascript - 在 HTML 中,如何停止激活容器按钮的空格键的传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73665175/

相关文章:

javascript - 复选框 $viewValue 选中时显示为 'false'

javascript - event 是一个全局变量,可以在回调链中的任何地方访问吗?

javascript - 悬停下一个/上一个元素

javascript - 使用 jquery.validate.unobtrusive 验证复选框

javascript - 使用 jQuery get(0) 索引暂停和播放多个 HTML5 视频?

javascript - 如何在提交事件时将窗口位置设置为底部?

javascript - overflow hidden 时检测用户滚动尝试

javascript - 用于验证多个单词的单数正则表达式

javascript - Node.js:何时使用 Promises 与 Callbacks

javascript - 使用 Node.js 和 XPath 对 HTML 页面进行高性能解析