onclick

onclick onclick *
*前のトピック: onchange
*次のトピック: ondataavailable

onclick

解説

ユーザーがマウスの左ボタンを押して離したときに発生する。あるいは、ユーザーがフォームの中でENTERキーやESCキーを押した場合に発生する。

注意事項

次の行為が行われたときにonclickイベントが起きる。

onclickイベントのデフォルトのアクションはクリックを受け取ったオブジェクトによって異なる。例えば、Aエレメントをクリックした場合には、ブラウザはhrefプロパティで指定されたドキュメントをロードする。eventオブジェクトのreturnValueプロパティの値をFALSEとすることにより、デフォルトのアクションをキャンセルすることができる。

ユーザーが左ボタンをクリックした場合には、そのオブジェクトに対するonclickイベントは、次の条件が揃ったときにだけ起きる。マウスがそのオブジェクトの上にあり、onmousedownイベントおよびonmouseupイベントが順番どおりに起きた場合である。オブジェクトの上にマウスポインタがありそこでマウスボタンを押して、離す前にポインタがオブジェクトの外に出てしまった場合にはonclickイベントは起こらない。

ユーザーがまだフォーカスを得ていないがインプットフォーカスを受け付けられるオブジェクトをクリックしたとき、onclickイベントより先にonfocusイベントが起きる。ユーザーがコントロールの中で左ボタンでダブルクリックしたとき、onclickイベントの後にondblclickイベントが起きる。

onclickイベントは多くのHTMLタグで使えるが、<A>、<INPUT>、<AREA>、<BUTTON>タグの場合には制約がある。これらのエレメントはTABキーによるアクセスが可能であり、それによってWebページへのキーボードでのアクセスを実現している。詳しくは、DHTMLのアクセシビリティを参照すること。

このイベントはイベントバブル(階層を上る)である。イベントバブルは、そのイベントが発生したオブジェクトの上位エレメントのいずれかで処理することができる。

次の例(JScript)は、ドキュメントのonclickイベントハンドラである。これはクリックが起きた位置のエレメントのタグ名を表示するためにeventオブジェクトを使っている。

  <SCRIPT>
  function clickit() {
      alert("Clicked in " + window.event.srcElement.tagName);
  }
  </SCRIPT>

  <BODY onclick="clickit()">

次の例(VBScript)は、ドキュメントのonclickイベントハンドラである。これはクリックが起きた位置がAエレメントであるかどうかを判別するためにeventオブジェクトを使っている。SHIFTキーも押されている場合にはイベントをキャンセルし、ハンドラにジャンプしないようにする。

  <SCRIPT LANGUAGE="VBScript">
  Function document_onclick()
      If window.event.srcElement.tagName = "A" And window.event.shiftKey Then
          window.event.returnValue = False
      End If
  End Function
  </SCRIPT>

適用

A, ADDRESS, APPLET, AREA, B, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET FONT, FORM, H1, H2, H3, H4, H5, H6, HR, I, IMG, INPUT, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, OBJECT, OL, OPTION, P, PLAINTEXT, PRE, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP, document

関連事項

clickメソッド

Up トップに戻る
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.