jQuery documentation は、ライブラリに次のイベントのサポートが組み込まれていることを示します:blur、focus、load、resize、scroll、unload、click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter 、mouseleave、change、select、submit、keydown、keypress、keyup、およびerror。
切り取り、コピー、貼り付けのイベントを処理する必要があります。それを行うのに最適な方法は? FWIW、私はWebKitについて心配するだけです(幸運です!)。
更新:ダッシュボードのような環境で「ウィジェット」に取り組んでいます。 WebKitを使用しているので、これらのイベントがそこでサポートされているかどうかは(私の目的では)本当に重要なことです。
.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.js ブランドンアーロンの マウスホイールプラグイン
Mozillaは、役に立つドキュメントを見つけるのに苦労している「入力」イベントをサポートしています。少なくとも、ペーストで発火することは知っています。
this.addEventListener('input',
function(){//stuff here},
false
);
JQuery 1.7として、bind(...)およびunbind(...)それぞれハンドラーをアタッチおよび削除するためのメソッド。
ここにあなたの探求を調整する例があります:
$('#someElementId').bind('paste', function(){return false;});
-これは、クリップボードから要素本体に貼り付けようとする試みをブロックします。また、cut、copyなどをイベントタイプとして使用できます(参照以下のリンク)
$('#someElementId').bind('copy', function(){return alert('Hey fella! Do not forget about copyrights!');});
そのため、他のケースでは、これらのハンドラーを削除するときに、unbind()メソッドを使用できます。
$('#someElementId').unbind('copy');
ここにいくつかの便利なリンク: