• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptにてonclickを無効)

JavaScriptでonclickを無効化する方法

このQ&Aのポイント
  • JavaScriptのonclickイベントを無効にする方法を教えてください。
  • 下記のコードでonclickイベントキャンセルを行っていますが、うまく動作しません。
  • 環境はWindows2000(SP4)とIE6(SP1)です。何かヒントはありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.2

event.returnValue = false についてはNo1様がすでにご指摘の通りです。 ご質問は、ドキュメントレベルででイベントを取得してキャンセルしたいという意図でしょうか? バブリングの伝播順だと要素のonclickイベントが発生してからドキュメントへ伝播するので、仮にキャンセルが可能だったとしても無理ということになります。 http://wiki.bit-hive.com/tomizoo/pg/JavaScript%20addEventListener%28%29 fx系であれば、documentでキャプチャリングフェーズでイベントを取得して、stopPropagation()で伝播を停止することで、ご質問で意図しているようなことは可能ですが、IEはこの仕組みに対応していないようです。 http://java.sun.com/j2se/1.5.0/ja/docs/ja/guide/plugin/dom/org/w3c/dom/events/Event.html#stopPropagation() IE9からはできるのかも知れません。(ちゃんと調べてませんけど) http://msdn.microsoft.com/en-us/library/ff975245(v=VS.85).aspx IE6の場合だと、最初に要素をサーチしてonclickが設定されていたらキャンセルするとかの方法でもよいのなら可能でしょう。(atachEventで設定されているものは拾えませんが) というか、HTMLソースを直接書き替えると言う単純な方法ではダメなのでしょうか?

Koba5
質問者

お礼

fujillinさん コメントありがとうございます やりたい事は、2重クリックの場合は、無効にしたいことでした。 そこで、実際は、documenreadyState=complete以外は、イベントをキャンセルすことのにより対応するつもりでした。 そこで、それぞれのonclickに書くのが面倒なので、一括で書けないかと思い上記のような事を考えました。

その他の回答 (2)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

No2です。 >やりたい事は、2重クリックの場合は、無効にしたいことでした 1度しか実行したくないということでしょうか? (↓)が参考になるかも  http://okwave.jp/qa/q6578859.html

Koba5
質問者

お礼

fujillinさん コメントありがとうございます 参考にしてみます

  • 0909union
  • ベストアンサー率39% (325/818)
回答No.1

>onclickイベントキャンセル 意味取り違えています。キャンセルしています。この場合デフォルトとは、Aタグの機能でhrefに指定されているファイルへ飛ぶ事です。 http://msdn.microsoft.com/ja-jp/library/cc392242.aspx あたりが参考になるのでは、優先順位はエレメントの設定です。 なお、ブラウザの種類によっても微妙です。

Koba5
質問者

お礼

0909unionさん コメントありがとうございます

関連するQ&A

専門家に質問してみよう