2013-05-17 10 views
5

Facebookのチャットウィンドウのアクティブなテキスト領域のテキストを変更するクロム拡張を作成しようとしています。しかし、私はテキストがまだテキストエリアにある間にテキストが変わらないように、ユーザーがEnterキーを押したときにだけ変更が行われるようにしたい。私はそれが​​ののイベントで起動するようにしたいが、javacriptを使用してそれが起こっていると感じるようにしたいが、というキーを入力する。複数のアクションをキーボードイベントにバインドする方法

は、今のFacebookでのチャットウィンドウのテキストエリアに関連するJavaScriptは次のとおりです。

<textarea class="blah" 
onkeydown="window.Bootloader && Bootloader.loadComponents(["control-textarea"], 
function() { TextAreaControl.getInstance(this) }.bind(this)); "> 
</textarea> 

そして、私の拡張機能のJavaScriptファイルで

。私は、すぐにユーザーが Enterキーを押して、テキストエリアがクリアされ、ポストの要求のいくつかの並べ替えが行われたと思わ

//elem is bound to the focussed textarea object 
elem.onkeydown = function(evt) { 
       if(evt.keyCode == 13){ 
       //Some javascript code I want to execute here... 
       } 
     }; 

:私はこのようなものを使用して​​イベントをバインドします。だから私はJavaScriptを使って修正したいテキストの範囲を失う。 シフト + を入力して、入力キーのバインディングが機能していることを確認しました。と入力して問題なくテキストを変更しました。だから私のスクリプトは正常に動作しています。

しかし、私は、テキストエリアがクリアされ、投稿要求が行われる前にスクリプトを実行します。私はちょうどユーザーが変更されているテキストを見ることを望んでいません。

上記のようにFacebookが使用するテキストエリアのキーバインドを、Google Chrome拡張機能のスクリプトで追加/変更できますか?どんな援助も深く感謝しています。

+0

誰もが私を助けてくれますか? – Annihilator8080

+2

答えが見つかりました[ここ](http://stackoverflow.com/questions/13880126/override-existing-onkeydown-function)!! – maxisme

答えて

2

あり、この質問の重複万人がここにありますが、ここではとにかくもう一度行く:

あなたはtarget.addEventListener(タイプ、リスナー[、useCaptureは])を使用することができます。あなたのケースでは、それはあなたがjQueryのを使用している場合、あなたは

$(document).keypress(function(event){ 
if (event.which === 13) { 
    // Your code here 
} 
}); 

P.S.を使用することができます

document.addEventListner(keypress, function(event) { //You can use keydown too 
    if (event.which === 13) { // Value for Enter key if keydown or keyup used, use event.keyCode 
    //some code that you want to add 
    } 
} 

だろう - クロスブラウザーサポートを追加する場合は、次のようなものを使用する必要があります。 -

if (target.addEventListener) { 
    target.addEventListener('keypress',myFunction,false); 
} 
else if(target.attachEvent) { 
    target.attachEvent('onkeypress', myFunction, false); 
} else { 
    target.onkeypress = myFunction; 
} 
// Here myFunction is the callback where you would check for the character code and your custom code 
関連する問題