捕获关键新闻事件的最佳方式

时间:2014-04-12 12:53:40

标签: jquery javascript-events keypress

我想用jquery在浏览器上捕获关键的新闻事件。

我当前的jquery版本是1.9.1

有很多解决方案,但最好的和最新的版本是什么,涵盖了大多数浏览器

无论什么

,每次按键都需要触发

谢谢

必须是文档级别。我的意思是当浏览器打开时,任何位置都会触及一个键。

2 个答案:

答案 0 :(得分:1)

这是最具说明性的例子 Check this out

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>keypress demo</title>
  <style>
  fieldset {
    margin-bottom: 1em;
  }
  input {
    display: block;
    margin-bottom: .25em;
  }
  #print-output {
    width: 100%;
  }
  .print-output-line {
    white-space: pre;
    padding: 5px;
    font-family: monaco, monospace;
    font-size: .7em;
  }
  </style>
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>

<form>
  <fieldset>
    <label for="target">Type Something:</label>
    <input id="target" type="text">
  </fieldset>
</form>
<button id="other">
  Trigger the handler
</button>
<script src="/resources/events.js"></script>

<script>
var xTriggered = 0;
$( "#target" ).keypress(function( event ) {
  if ( event.which == 13 ) {
     event.preventDefault();
  }
  xTriggered++;
  var msg = "Handler for .keypress() called " + xTriggered + " time(s).";
  $.print( msg, "html" );
  $.print( event );
});

$( "#other" ).click(function() {
  $( "#target" ).keypress();
});
</script>

</body>
</html>

答案 1 :(得分:1)

你想要这个:

$(document).keypress(function(){
   alert("I'm pressed");
});