2012-03-18 9 views
0

これは問題です:私は、char型の@を傍受する必要がありますが、jQueryとのKeyDownイベントで、私はコードのみ17はKeyDownイベント:との問題「@」

どのように私は(実際のコードを取得することができます192を取得します)とproperty event.altKey = true

これは私のコードです。

$(this).keydown(function(e) { 
    var keycode = (e.keyCode ? e.keyCode : e.which); 

    alert(e.keyCode + " - " + e.which + " - alt:" + e.altKey + " - shift:" + e.shiftKey + " - ctrl:" + e.ctrlKey); 
}); 

このアラートには常に17(ctrl/alt)が表示されます。どうすればこの問題を解決できますか?

+0

あなたはaccomplisしようとしている何を、キー入力イベント等とのことをキャプチャすることができますか?これは入力フィールドですか? – elclanrs

+0

あなたは 'keydown'に警告(ブロック)しているので、2番目のキーは登録しません。 – Ben

+0

はい、入力フィールドに接続されています。しかし私は私が必要とするキーを傍受する方法を知らない '@' ... – fpiliego

答えて

0

これが私の仕事:シフトキーとキーのhttp://jsbin.com/ohucuj/edit#preview

$(function() { 
    $("#thingToTest").keydown(function(e) { 
    var keycode = (e.keyCode ? e.keyCode : e.which); 
    if (e.shiftKey && e.which == 50) { 
     $("#message").html("You pressed SHIFT+2 or @ !!!"); 
    }else{ 
     $("#message").html(e.keyCode + " - " + e.which + " - alt:" + e.altKey + " - shift:" + e.shiftKey + " - ctrl:" + e.ctrlKey); 
    } 
    }); 
}); 

だけでテストを。

+0

私はMac上で、私はalt + 2を使用しています。 – joakimdahlstrom

+0

私は私のMacで、それは同じ動作をテストしました。私はaltを使わないと思う – shanabus

0

は私が何192 IDがわからないが、私は@がNR 64

であることが判明あなたは

$("#textfield").keypress(function(e) 

if (e.which == 64) 
{ 
    console.log('you typed "@" symbol!'); 
} 

}); 
関連する問題