2013-04-20 8 views
7

Definitive Trigger Keypress jQuery threadには、答えのJSFiddleはありません。そこにあるコードは、私のためには機能しません。入力フォーカスを与えられ、77ののkeyCode(「M」でKeyDownイベントをしているようjQueryを使用したKeypressのトリガー

$("button").click(function() { 
    $("input").focus(); 
    var e = jQuery.Event("keydown"); 
    e.which = 77; // # Some key code value 
    $("input").trigger(e); 
}) 

私のコードがありますし、クリックでここに私のバイオリンだ http://jsfiddle.net/Z8adb/

、Mは、入力に表示されます)がトリガされました。

アイデア?

EDIT:私の本当の目的は、ビデオをプログラムでミュートするために、サブライムビデオで "m"ホットキーをトリガーすることです。これは、スタックオーバーフローの助けを借りて、私が適切に "m"キーを発射していることを確認するための私の第一歩でした。しかし、私はまだビデオでプログラムで発砲するイベントを得ることができません。私はこれがSublime Videoの問題だと思っていますが、私は確信が持てません。誰もキー押下やクリックを強制する意見は聞こえるほど素晴らしいでしょう。

+0

何が問題なのですか?あなたのキーダウンが誘発されていませんか? – PSL

+0

良い点は、質問をより明確に編集できるようにすることです。 –

+1

http://jsfiddle.net/M8RxB/イベントが発生しているのが分かるので、コードに何も問題はありません。手動でAFAIKを入力する必要があります。 –

答えて

12

トリガーを使用すると、イベントをキーコードでトリガーするだけで、値をテキストボックスに割り当てることはできません。これを試してください: - http://jsfiddle.net/PbHD2/

String.fromCharCode

$("button").click(function() { 
    $("input").focus(); 
    var e = jQuery.Event("keydown"); 
    e.which = 77; // # Some key code value 
    $("input").val(String.fromCharCode(e.which)); 
    $("input").trigger(e); 
}); 
$('input').keydown(function(e){ 
    console.log('Yes keydown triggered. ' + e.which) 
}); 
+0

私はそれを感謝しますが、問題は$( 'input')です。トリガー(e)はそのインスタンスに存在する必要はありません。それは良い答えです。 g –

+0

私にこれを聞かせてください:$( "input")keydown(function(e))が正しく起動していると思いますか? –

+1

keydownの問題は見られませんでした。 keydown not firing? – PSL

1

SublimeVideoが正しいHTML5プレーヤー、です。もしそうなら、プロパティを使ってミュートすることはできますか?

$("video#yourVideoTagId").prop("muted", true); 
+0

私がしたいのは実際にはSublimeを使って処理していたのですが、そのミュート機能は実際にボリューム(ボリュームに関連付けられたGUI)を0に移動するだけなので、機能を起動するには、それをやめなければなりません。 –

関連する問題