检测 "Entry key" 按下自定义功能

Detect "Entry key" press for custom function

我想检测用户何时使用 Entry。我想要这个,因为我想要自定义按键所做的动作。关键是在我的 table 上添加一个新行。可以加我吗?

谢谢。

编辑 :

此解决方案无效。我尝试了所有答案和任何解决方案……:

<script type="text/javascript">
        function stopEntryKey(evt) {
            var evt = (evt) ? evt : ((event) ? event : null);
            var node = (evt.target) ? evt.target : ((evt.srcElement) ? evt.srcElement : null);
                if ((evt.keyCode == 13) && (node.type == "text")) { 
                    return false;
                    $("tbody").html("<tr><td>Item1-col1</td><td>Item1-col2</td></tr>"); // Ajoute une ligne
                }
        }
        document.onkeypress = stopEnterKey;
    </script>

编辑 2:

$(document).ready(function() {
$(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});

此代码有效。在这里找到:Prevent users from submitting a form by hitting Enter

现在,我搜索以在用户按下 Entry 键时添加一行。请问谁知道怎么弄?

试试这个:

document.onkeydown = function(e) {   
  //something code
  //for something specific key:
  if (e.keyCode == 'someting_code_key') {
    // action
  }
} 

key code list

您需要添加按键事件侦听器来检测按键。您可以使用 javascript .addEventListener() or jquery .keydown() to adding keydown 事件侦听器。然后你应该检查是否按下 Enter,运行 你的目标代码。

// Javascript
document.addEventListener("keydown", function(){
    if (event.keyCode == '13') {
        alert();
    }
});
// Javascript shortcut
document.onkeydown = function() {   
    if (event.keyCode == "13") {
        alert();
    }
} 
// JQuery
$(document).keydown(function() {   
    if (event.keyCode == '13') {
        alert();
    }
}); 

window.onkeydown = function() {   
    if (event.keyCode == '13') {
      alert("Enter key pressed");
    }
} 

假设HTML如下

<table>
     <thead>
        <tr>
          <th>Col1</th>
          <th>Col2</th>
        </tr>
     </thead>

     <tbody>
     </tbody>
</table> 

现在的 JS:

$(document).keydown(function() {   
   if (event.keyCode == '13') {
       $("tbody").html("<tr><td>Item1-col1</td><td>Item1-col2</td></tr>";  //this 'll add row in the table
    }
});