0

だから、自分のサイトで「ホーム」と入力すると、何かしたいと思う。これは、キーアップとおそらくバインドを使用して実行できると思いますか?

h-72 o-79 m-77 e-69

私はなんとかそれを行うことができましたが、もっと良い方法があると確信しています..

if (e.keyCode == 72) {
    $(document).keyup(function (u) {
        if (u.keyCode == 79) {
            $(document).keyup(function (l) {
                if (l.keyCode == 77) {...
4

4 に答える 4

1
var reading = "";
$(window).keypress(function(e){
    reading += String.fromCharCode(e.which);
    if("home".indexOf(reading) < 0)
        reading = "";
    else if(reading == "home"){
        //DO WHAT YOU WANT
    }
}
于 2012-03-21T13:24:23.137 に答える
0

あなたはこれを試すことができます

​$(function(){
    $(document).keyup(function(e){
        e.preventDefault();
        var str=$(e.target).val();
        if(str.toLowerCase()=='home')
        {
            alert("Got home here !");
        }      
    });
});​

フィドルはここにあります。

于 2012-03-21T13:26:22.670 に答える
0

jQuery.comでのコナミコマンドの実装に基づく

if ( window.addEventListener ) {
 var hkeys = [], hhome = "72,79,77,69";
window.addEventListener("keydown", function(e){
hkeys.push( e.keyCode );

if ( hkeys.toString().indexOf( hhome ) >= 0 )
 alert("Home!!!");
 hkeys = [];
}, true);
} 
于 2012-03-21T13:29:00.493 に答える
0

あなたがすべきことは、最後に押された n 個のキーのバッファを保持することです。あとは、文字列に「home」という単語が含まれているかどうかを確認するだけです。詳細はお任せしますが、基本的な構造は難しくありません。

//Example of checking if home is contained within "myString"
myString.indexOf("home") != -1;

var keyBuffer;
$(document).keyup(function(u){

    //Keep a key buffer.
    keyBuffer += u.keyCode;

    //Trim keybuffer so it isn't too long.

    //Check for the presence of any of your keywords such as "home" and respond.
});
于 2012-03-21T13:23:28.797 に答える