使用PHP,JS或HTML(或类似的东西)我如何捕获keystokes?例如,如果用户按下ctrl + f或者甚至只是f,则会发生某种功能。
++++++++++++++++++++++++ EDIT +++++++++++++++++++ 好吧,这也是正确的,因为我无法让它发挥作用。我为我的n00bness道歉这是一个简单的问题,jQuery的新手,还在学习越来越多的JS。
<script>
var element = document.getElementById('capture');
element.onkeypress = function(e) {
var ev = e || event;
if(ev.keyCode == 70) {
alert("hello");
}
}
</script>
<div id="capture">
Hello, Testing 123
</div>
++++++++++++++++ EDIT ++++++++++++++++++
这是一切,但我无法让它发挥作用:
<link rel="icon" href="favicon.ico" type="image/x-icon">
<style>
* {
margin: 0px
}
div {
height: 250px;
width: 630px;
overflow: hidden;
vertical-align: top;
position: relative;
background-color: #999;
}
iframe {
position: absolute;
left: -50px;
top: -130px;
}
</style>
<script>
document.getElementsByTagName('body')[0].onkeyup = function(e) {
var ev = e || event;
if(ev.keyCode == 70 && ev.ctrlKey) { //control+f
alert("hello");
}
}
</script>
<div id="capture">
Hello, Testing 123<!--<iframe src="http://www.pandora.com/" scrolling="no" width="1000" height="515"frameborder="0"></iframe>-->
</div>
+++ +++ EDIT
感谢雅各布,我原以为我已经修好了,但是当我在FF和IE中尝试它(目前使用的是chrome,它确实有效)时它没有用。这个脚本只是用于我将看到的个人页面,所以这不是最大的交易,但为了将来参考,我只想知道为什么这在IE或FF中都不起作用。
答案 0 :(得分:11)
当然,唯一的方法是通过JavaScript,你可以这样做:
window.onload = function() {
document.getElementsByTagName('body')[0].onkeyup = function(e) {
var ev = e || event;
if(ev.keyCode == 70) {//&& ev.ctrlKey) {
//do something...
}
}
};
要查找所需的特定密钥代码,请参阅此文章:http://www.webonweboff.com/tips/js/event_key_codes.aspx
答案 1 :(得分:1)
您正在寻找与按键相关联的javascript事件。这里有一些恼人的浏览器不兼容性,所以你最好使用像jQuery这样的JS库,你可以使用jQuery keypress()方法,但是你可以从javascript onkeypress事件中获得你想要的数据。
答案 2 :(得分:0)
使用jQuery:
您可以使用jQuery Keydown
关于捕获不同关键事件的精彩文章:
修改强>
<强>的JavaScript 强>
以下是使用精美DEMO在javascript中执行此操作的好文章:
答案 3 :(得分:0)
最好是捕捉窗口上的所有键,而不是捕捉特定元素上的击键,如其他所提到的答案。
所以使用原生javascript:
window.onload = function (){
eventHandler = function (e){
if (e.keyCode == 70 && e.ctrlKey)
{
//do stuff
//console.log(e);
}
}
window.addEventListener('keydown', eventHandler, false);
}
使用JQuery:
$(document).ready(function(){
$(window).keydown(function (e) {
if (e.keyCode == 70 && e.ctrlKey)
{
//do stuff
}
});
});