以下是我的代码:
$(document).keypress(function(e){
var s = String.fromCharCode(e.which);
if ( s === "f"){
alert ("its f");
}
else if ( s === "r"){
alert ("its r");
}
});
我想用JavaScript做这件事........... !!
我该怎么做?
答案 0 :(得分:7)
document.addEventListener('keypress', function(e) {
var key = e.keyCode || e.which;
... // rest of code
});
答案 1 :(得分:1)
在本机js中,您可以通过onClick,onKeyPress,...等元素属性附加事件。 别忘了,事件处理函数中的event参数;) 在不同的浏览器中,您可以通过事件的不同属性读取按下的键的代码。
以下是一个例子:
<script type="text/javascript">
document.getElementsByTagName("body")[0].onkeypress=function(e){
var s = String.fromCharCode(e.which | evt.witch );
switch(s){
case "f":
alert("key is 'f'");
break;
....
}
};
</script>
或者您可以使用addEventListener
方法,如下所示:
<script type="text/javascript">
document.getElementsByTagName("body")[0].addEventListener('keypress',function(e){
var s = String.fromCharCode(e.which | evt.witch );
switch(s){
case "f":
alert("key is 'f'");
break;
....
}
});
</script>
您应该在加载文档后运行这些脚本。您可以像这样订阅domready
事件:
<script type="text/javascript">
document.addEventListener( "DOMContentLoaded", function(){
//your code here (one of the above)
}, false );
</script>
这里讨论最后一节:javascript domready?。不幸的是,您可以根据客户端浏览器以不同的方式订阅domready事件。
a sugggestion(offtopic):
使用本机javascript时会出现一些问题,因为浏览器的不兼容性,jQuery
中已解决的问题。如果您要使用jQuery
,但无法访问html代码,并且想加载jQuery
,可以从jQuery
网址中将CDN
添加到您的网站,用javascript也是这样的:
<script>
(function() {
var jQ = document.createElement('script'); jQ.type = 'text/javascript';
jQ.async = true;
jQ.src = '//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(jQ, s);
})();
</script>
谷歌制作analitycs代码;)
答案 2 :(得分:0)
试试这个
document.onkeypress = keyPressFunction;
function keyPressFunction(e) {
var s = String.fromCharCode(e.which);
if ( s === "f"){
alert ("its f");
}
else if ( s === "r"){
alert ("its r");
}
}
答案 3 :(得分:0)
这是一个完全符合你想要的简单功能 -
document.onkeydown=function(e){
var char= String.fromCharCode(e.keyCode);
if(char=='f'){
alert(char);
}else if(char=='r'){
alert(char);
}
}