2007-12-04

Safariで入力ボックスの貼り付け(ペースト)が無効にならない!?

Web Kit DOM Programming Topics の JavaScriptからのペーストボードの使用 によると、Safari は onpaste イベントを実装しているという解説があります。

しかし、実際に次のようなコードを Safari 2.0.4 (MacOS X) で試してみたところ、入力ボックスの貼り付け (Command+V) が期待しているように無効になりません。何か私に勘違いがあるのでしょうか。
// ignore_paste
function ignore_paste(name) {
var element = document.form[name];
if (element) {
element.onpaste = function() {
return false;
}
}
}
このコードは Safari 3 (Windows XP) では期待どおり動作しています。もちろん IE 6 と IE 7 (Windows XP) も同様に動作します。

それ以外のシェアの高いブラウザは、今のところ onpaste イベントをサポートしていないので、このコードは動作しないはずです。エラーにもならないはずです。試していませんが、聞くところによると Firefox 3 は onpaste イベントをサポートするとのことです。

[すぐにできる!] iLife'08[すぐにできる!] iLife'08
村上 弘子 白瀧 由裕 井村 克也

[すぐにできる!] iWork'08 [すぐにできる!] Mac OS X Version10.5 Leopard Macをはじめよう! Mac Basic Guide (アスキームック MacPeople MOOK 18) (アスキームック MacPeople MOOK 18) (アスキームック MacPeople MOOK 18) Mac OS X 10.5 Leopard Perfect Guide (アスキームック MacPeople MOOK 21) Mac Fan iLife '08[iTunes・iPhoto・iMovie・iDVD・GarageBand・iWeb]入門・活用ガイド (MacFanBooks)

by G-Tools

0 件のコメント: