65

jQueryのドキュメントによると、ライブラリには次のイベントのサポートが組み込まれています: ブラー、フォーカス、ロード、サイズ変更、スクロール、アンロード、クリック、dblclick、マウスダウン、マウスアップ、マウスムーブ、マウスオーバー、マウスアウト、マウスエンター、マウスリーブ、チェンジ、セレクト、サブミット、キーダウン、キープレス、キーアップ、およびエラー。

切り取り、コピー、貼り付けのイベントを処理する必要があります。どのように行うのが最善ですか?FWIW、私は WebKit についてのみ心配する必要があります (幸運なことに!)。

更新: ダッシュボードのような環境で「ウィジェット」に取り組んでいます。WebKit を使用しているため、これらのイベントがそこでサポートされているかどうかだけが (私の目的では) 本当に重要です。

4

4 に答える 4

92

.on()メソッドとoff()メソッドを使用して、あらゆる種類のイベントを追加および削除できます。

たとえば、これを試してください

jQuery(document).on('paste', function(e){ alert('pasting!') });

jQuery は実際には、割り当てたイベント タイプがブラウザでサポートされているかどうかにまったく関心がないため、次のような要素 (および一般的なオブジェクト) に任意のイベント タイプを割り当てることができます。

jQuery('p').on('foobar2000', function(e){ alert(e.type); });

カスタム イベント タイプの場合は、次.trigger()のようにコード内で「手動で」行う必要があります。

jQuery('p').trigger('foobar2000');

きちんとしたね?

さらに、クロスブラウザー互換の方法で独自/カスタム DOM イベントを操作するには、「jQuery イベント プラグイン」を使用/作成する必要がある場合があります。jquery.event.wheel.jsBrandon Aaron のMousewheel プラグイン

于 2008-10-27T00:11:37.853 に答える
14

Javascript ではさまざまなクリップボード イベントが利用できますが、サポートはむらがあります。QuicksMode.org には互換性グリッドテスト ページがあります。イベントは jQuery を介して公開されないため、ライブラリを拡張するか、ネイティブの Javascript イベントを使用する必要があります。

于 2008-10-26T01:06:52.953 に答える
9

Mozilla は、有用なドキュメントを見つけるのに苦労している「入力」イベントをサポートしています。少なくとも、私はそれがペーストで発火することを知っています.

   this.addEventListener('input',
    function(){//stuff here},
    false
   );
于 2008-10-27T19:37:49.980 に答える