Php 如何在web上捕获击键?
使用PHP、JS、HTML或类似的东西如何捕获密钥库?例如,如果用户按ctrl+f,甚至可能只按f,就会出现特定的功能 ++++++++++++++++++++++++编辑+++++++++++++++++++ 好的,这是正确的,因为我不能让它工作。我为我的N00B感到抱歉,这是一个简单的问题,对于jQuery来说是一个新问题,并且仍然在学习越来越多关于JS的知识Php 如何在web上捕获击键?,php,javascript,function,input,keystroke,Php,Javascript,Function,Input,Keystroke,使用PHP、JS、HTML或类似的东西如何捕获密钥库?例如,如果用户按ctrl+f,甚至可能只按f,就会出现特定的功能 ++++++++++++++++++++++++编辑+++++++++++++++++++ 好的,这是正确的,因为我不能让它工作。我为我的N00B感到抱歉,这是一个简单的问题,对于jQuery来说是一个新问题,并且仍然在学习越来越多关于JS的知识 <script> var element = document.getElementById('capture'
<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>
++++++++++++++++编辑++++++++++++++++++
这是所有的东西,但我不能让它工作:
<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>
+++编辑+++
多亏了雅各布,我本以为我已经修好了,但当我在FF和IE中尝试它时,目前使用的是chrome,它确实起作用了,但没有起作用。这个脚本只是针对一个只有我才能看到的个人页面,所以这不是最大的交易,但为了将来的参考,我只想知道为什么它在IE或FF中都不起作用。您正在寻找与按键相关的javascript事件。这里有一些恼人的浏览器不兼容,因此最好使用jQuery之类的JS库,在这里可以使用jQuery keypress方法,但可以从javascript onkeypress事件中获取所需的数据。您正在查找与按键相关的javascript事件。这里存在一些恼人的浏览器不兼容问题,因此最好使用jQuery之类的JS库,在这里可以使用jQuery keypress方法,但可以从javascript onkeypress事件中获取所需的数据。使用jQuery: 你可以使用 关于捕获不同关键事件的精彩文章: 编辑: JavaScript 下面是一些很好的文章,可以在javascript中通过很好的演示实现这一点: 使用jQuery: 你可以使用 关于捕获不同关键事件的精彩文章: 编辑: JavaScript 下面是一些很好的文章,可以在javascript中通过很好的演示实现这一点:
当然,实现这一点的唯一方法是通过JavaScript,您可以这样做:
window.onload = function() {
document.getElementsByTagName('body')[0].onkeyup = function(e) {
var ev = e || event;
if(ev.keyCode == 70) {//&& ev.ctrlKey) {
//do something...
}
}
};
要查找所需的特定密钥代码,请参阅本文:
当然,实现这一点的唯一方法是通过JavaScript,您可以这样做:
window.onload = function() {
document.getElementsByTagName('body')[0].onkeyup = function(e) {
var ev = e || event;
if(ev.keyCode == 70) {//&& ev.ctrlKey) {
//do something...
}
}
};
要查找所需的特定密钥代码,请参阅本文:
您最好捕获窗口上的所有关键点,而不是像前面提到的其他答案那样捕获特定元素上的关键点笔划 因此,使用本机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
}
});
});
您最好捕获窗口上的所有关键点,而不是像前面提到的其他答案那样捕获特定元素上的关键点笔划 因此,使用本机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
}
});
});
@Naveed操作没有使用jQuery。@Jacob Relkin:Hmmmm。好的,但我认为OP不知道jQuery。因此,建议使用jQuery轻松地完成这项工作。在这种情况下,jQuery是不必要的。DOM可以很好地处理键盘事件,并且对现代浏览器的支持也很好。事实上,大多数东西根本不需要jQuery,我完全同意@Delan@NAVEEEDOP没有使用jQuery。@Jacob Relkin:Hmmmm。好的,但我认为OP不知道jQuery。因此,建议使用jQuery轻松地完成这项工作。在这种情况下,jQuery是不必要的。DOM可以很好地处理键盘事件,并且对现代浏览器的支持也很好。事实上,大多数东西根本不需要jQuery。我完全同意@DelanAre,你能在JS Fiddle上测试它吗?当我在你提供的链接中按Ctr+F时,它会打开浏览器搜索选项;当我按下ctrl+f时,警报为“你好”,什么也不会发生。我试着删除了&&ev.ctrlKey,只按了f,但仍然没有成功。@NAVEED您需要关注右下角的按钮。@Sean您使用的浏览器是什么?顺便说一句,我想我更希望它是f,因为当时我没有考虑它,但是是的,ctrl+f打开了搜索。您能在JS Fiddle上测试它吗?当我在你提供的链接中按Ctr+F时,它会打开浏览器搜索选项;当我按下ctrl+f时,警报为“你好”,什么也不会发生。我试着删除了&&ev.ctrlKey,只按了f,但仍然没有成功。@NAVEED您需要关注右下角的。@Sean您使用的浏览器是什么?顺便说一句,我想我更希望它是f,因为当时我没有考虑它,但是的,ctrl+f打开了搜索。啊。。。好的,正如我所说,我这样做是为了个人,而不是公众,所以浏览器兼容性并不重要。啊。。。好的,正如我所说的,我这样做是为了个人,而不是公众,所以浏览器兼容性并不重要。