ユーザーが「@」と入力したときにアクション(オートコンプリートを有効にする)を開始したいのですが。jQueryを利用できます。
通常、QWERTYキーボードでは、次のようになります。
$('textarea').live('keydown', function(e) {
if (e.which === 50) {
console.log('@ has been entered.');
}
});
ただし、AZERTYキーボードでは正しく機能しません。keyCode=50はé~/2キーに対応します。AZERTYキーボードで「@」と入力するには、AltGr+à@/0キーです。
編集:オートコンプリートは、@が入力されたときに開始され、その後のみ開始されます。たとえば、誰かが「Hello @」と入力すると起動しますが、「Hello @nothing else」と入力すると、コンプリートは何もしません。例: http: //mrkipling.github.com/jQuery-at-username/(QWERTYキーボードでのみ機能します)。