2011-02-07 12 views
1
$(element).bind("dragover", function() { 
    $(document).keypress(function(e){ 
     console.log(e.which + ": " + String.fromCharCode(e.which)); 
    }); 
} 

ドラッグを開始すると、キー押下イベントを検出できません。 キーボード入力を検出する別の方法はありますか?画像、ブックマークをドラッグしているときにキーボードイベント(キー押し、キーアップ)をキャプチャする方法

+0

に投稿されますか? – Shrinath

答えて

0

画像、ブックマーク(明示的にドラッグ可能に設定されていない)、alert()confirm()などのイベントは、イベントリスニングアクティビティとその中で実行されているタイマーを「一時停止」することが知られていますコンテキスト。

つまり、setCapture()メソッドを調べるとよいでしょう。 指定された要素のマウスキャプチャをオンにします。

つまり、.releaseCapture()を呼び出すまで、すべてのマウスイベントを指定されたDOM要素にリダイレクトします。

これは伝統的にドラッグ・ドロップのシナリオで使用されています。

パラメータとしてtrueを渡すと、現在の要素(コンテナの場合)がすべてのマウスイベントを取得できるようになります。すなわち、親コンテナがイベントを傍受させる。

falseを渡すと、マウスイベントがバブリングする前に意図されたターゲットに到達します。リンク以下

これら

は SetCaptureがIEのためだけであるからkeyup、キー入力、KeyDownイベントで試してみました...

http://blog.stchur.com/category/advanced-javascript/page/2/

http://javascript.gakaa.com/object-setcapture-4-0-5-.aspx

0

イベントのdidntの仕事をバインド...良い出発点ですChromeとの互換性が必要です。 addEventListenerで何かしようとしていますが、私はそれにつきました... 解決策を見つけたら、dragoverバインディングの外側でkeypressイベントをバインドすると、

関連する問題