javascript - 处理我页面上任何 <textarea> 的 keydown 事件

标签 javascript jquery html textarea

我正在尝试处理有人在任何<textarea>上按ENTER键的情况在我的页面上。并非所有<textarea>加载时就在页面上(它们可以通过用户事件动态添加),所以我不知道每个 <textarea> id 在页面加载时(因此不能使用 jQuery 通过 id 监听每个事件)。我也尝试使用JS onkeydown事件,但我一直无法找到一种方法来检测哪个键导致 onkeydown触发事件。

那么,有没有办法处理所有 <textarea> keydown 在我的页面上,以及哪个键导致了事件,或者是否有一个我似乎缺少的优雅的解决方案?一些全局性事件?

最佳答案

使用委托(delegate)。您可以指定 body 或任何将容纳所有这些动态文本区域的container

$("body").delegate("textarea", "keydown",function(e){
  // code logic goes here
  if(e.which == 13){
     //Enter key down    
  }
});

关于javascript - 处理我页面上任何 &lt;textarea&gt; 的 keydown 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7042212/

相关文章:

javascript - 使用 if 语句更改 javascript 中的 location.href

javascript - CKEditor、IE9 和 JavaScript

jquery - Chrome 和 Opera 无法使用 jQuery 的方法 .css() 进行绝对定位

javascript - jquery点击事件不触发

JavaScript 待办事项列表划掉所有其他元素

HTML导航定位

javascript - 如果我通过 Javascript 更改 <option> 元素上的属性 "selected"会发生什么情况?

javascript - Chrome 桌面中的 ondevicemotion 返回 true

javascript - 如何使用 Javascript 向 Actionscript 发送值

javascript - Knockout DatePicker 绑定(bind)项不会禁用 DatePicker