.keypress 在 DIV 标签上?

Posted

技术标签:

【中文标题】.keypress 在 DIV 标签上?【英文标题】:.keypress on a DIV tag? 【发布时间】:2011-04-15 03:10:37 【问题描述】:

有没有办法让 .keypress 在这样的 div 元素上工作?:

<html>
<body>

<script type="text/javascript">
<!--

$('#idtext').keypress(function(event) 
  var keyCode = event.keyCode;
  $('#idtext').text(function(i, text) 

   return text + String.fromCharCode(keyCode); 

  );

);

// -->
</script>

<div id="idtext"></div>

</body>
</html>

【问题讨论】:

【参考方案1】:

是的:您需要在&lt;div&gt; 中添加一个tabindex 属性以允许它接收焦点。

<div id="idtext" tabindex="1"></div>

此外,您希望在按键事件中输入的文本字符代码的属性是which,而不是keyCode

最后,&lt;script&gt; 元素内的 HTML 注释标签在所有现代浏览器中都是不必要的。

【讨论】:

这个例子太复杂了,不能说这是我的建议不起作用。简体:jsbin.com/aqiza/7 @xRobot 你有错误将$('#cmd span'); 更改为$('#cmd div#mytext'); 见jsbin.com/aqiza/13 非常感谢tabindex 的技巧。我永远也想不通。

以上是关于.keypress 在 DIV 标签上?的主要内容,如果未能解决你的问题,请参考以下文章

event.key 在移动浏览器中未定义 keyup、keydown 和 keypress

keypress 和 blur 事件冲突的问题

Android 浏览器上未引发 JavaScript 按键事件

KeyPress 和KeyDown KeUp之间的区别

Tab 不会触发 keydown 或 keypress 事件

时间:2019-05-10 标签:c#specific sequence keypress event anywhere in form