右クリックを禁止するスマートなやり方
Webページをあちこち見ていると、たまにマウスの右クリックからコンテキストメニューを表示させないような細工がしてあるページってありますよね。
しかもご丁寧に「このサイトは右クリック禁止です」な~んてダイアログまで表示したりしてね。そうなるとこっちはこっちで「そんな警告、何処にも書いてなかったぞ!ムッキ~!」となるわけですな。
いえね、別にマウスの右クリックイベントをトラップするなと言いたいわけじゃないんですよ。わざわざダイアログ出さなくてもいいじゃん。黙ってイベントをキャンセルすればいいじゃん。と思うわけです。
そんなおり、某サイトでマウスの右クリックをキャンセルするナイスな実装を見付けました。つっても、右クリックをキャンセルしたいタグに
という属性を付けるだけ。例えばこんな感じです。
まぁ、属性の名前からして、コンテキストメニューの表示をキャンセルしてるだけで、右クリックをキャンセルしてるとは言えないかも知れませんが・・・。
しかもこの属性ってば、Operaには効かないんですよね。IE7でも効いたのにな(苦笑)。
追記:
後から気付いたんですが、この属性って onLoad や onClick と同じイベントじゃないですか。て言うか+JavaScript?
いや~、気付きませんでした。