2011-01-31 5 views
2

をシミュレートし、私はこのコードを使用しました:javascriptのは、FFでのキーボードイベント、クロムの仕事(webkitの)

 

if (keyCount == lineLimit) { 
    // method in FF, no Chrome 
    var mock = document.createEvent("KeyboardEvent"); // or KeysEvent 
    mock.initKeyEvent("keypress",true,true,null,false,false,false,false,14,0); 
    var x = document.getElementById('InputCategory'); 
    // rise height before Enter 
    $(this).height(div_height + font_height + offset_height); 
    // mock Enter 
    x.dispatchEvent(mock); 
    // init keyCount 
    keyCount = 0; 
} 

それは動作しますが、クロムのようなのWebKitベースのブラウザで有効にすることができませんでした。

ので、私はGoogleに尋ねた、キーボードのイベントはDOMレベル3イベントの一つである見つけ、ここにaticleです:http://www.w3.org/TR/DOM-Level-3-Events/

、私は、initKeyboardEvent /クローム&サファリではサポートされていません* /知っていた/ initUIEventは、 * /私は試してみましたが、うまくいきませんでした。

仮想キーボードイベントはChromeでシミュレートできますか? plesase help me :)

+1

は、なぜあなたはちょうどしようと改行文字を代わりに挿入していない入力の最後に単語「テスト」を挿入し

var te = document.createEvent('TextEvent'); te.initTextEvent('textInput', true, true, window, 'test'); <element>.dispatchEvent(te); 

Alxandr

+0

@Alxandrはうまくいくかもしれませんが、今はちょうどjsでキーボードイベントを初期化し、クロムで作業する方法を知りたいのですが。 – Reorx

答えて

2

これは機能しますが、これはキー挿入イベントではなく、テキスト挿入イベントです。 (あなたのケースでは、おそらく。\nでそれを置き換えるだろう

+0

良い〜これはうまくいくでしょうが、シミュレートする方法を教えてくださいクロムのキーボードイベントまたはちょうどそれの可能性を教えて、多くのありがとう~~ – Reorx

+1

それは可能です。私はそれを見たことがあるが、自分自身で行うことができませんでした。それを受け入れられた。 – Alxandr

+0

この回答は[非推奨](https://developer.mozilla.org/en-US/docs/Web/API/Document/createEvent)で更新できますか? –

関連する問題