Ads By Google
フォームなどのテキストエリア上で、マウスによって何らかのオブジェクト(文字列とか)が「右クリック→貼り付け」によって貼り付けられた瞬間に特定の関数を実行したい.
フォームなどのテキストエリア上で、マウスによって何らかのオブジェクト(文字列とか)が「右クリック→貼り付け」によって貼り付けられた瞬間に特定の関数を実行したいのですが、どうしたらよいでしょうか?
2006-04-22 09:36の質問
この質問は、30日間解決しなかったために自動的に質問が一旦閉じられました。
回答(1)
1.
2006-04-22 18:49:38
一般的なイベントではありませんが、IEの場合は、
onbeforepaste イベントが使えると思います。
onbeforepaste イベントが使えると思います。
自信度 : 自信なし 回答レベル : 回答
Ads By Google
コメント(3)
#1. オニキス
2006-04-22 13:55:19
「ブラウザで」ということでいいのでしょうか。。。
JSだと一般に、質問の要求そのままで実現するのは難しいのではないかと・・・たぶん(汗;
Ctrl+Vを禁止するだけなら、
onKeyDown="if(event.ctrlKey==true && event.keyCode==86)return false;"とかすればいいかもしれません。
IEだと、貼り付けを捕捉する代わりに、クリップボードを読み取ることができるかもしれません。
clipboardData.getData("Text")
でクリップボードのテキストデータが返ってくるので、onChangeとかされたときに、inputのvalueを検索して、クリップボードと同じ文字列があれば「貼り付け」をしたと解釈できるかもしれません。ただし、IEのセキュリティ設定で「スクリプトによる貼り付け」許可がないとできません。//VBならWM_PASTEで拾えるかと思います。
#2. オニキス
2006-04-22 20:46:10
>>1
そんなものが!
早速試したんですが、編集メニュー押しただけで呼び出されたりして、ちょっと挙動不審ですw
確かに、ペースト時にも呼び出されるのですが・・・。
「onpaste」の方が快適な気がします。
#3. BLUEPIXY
2006-04-23 02:35:50



