* onclick 属性 (HTML, XHTML 1)
[1] [[HTML]] のほとんどの要素で用意されている
[DFN[[CODE(HTMLa)[onclick]] 属性]]は、
[RUBYB[指示装置] [pointing device]]のボタンが[[要素]]の上で[[かちっ]]された時に発生する[[事象]]に関する[[内在事象]]属性です。
[2] 仕様書:
- [[HTML 4]]
-- [CODE(HTMLa)[onclick]] 属性
** 代替
[3] 内在事象属性は[[表現と構造の分離]]の原則に反するので、
好ましくないと考える人もいます。また、 [[DOM 0]]
に基づく古い設計です。
代わりに、 [CODE(HTMLe)[[[script]]]] 要素などにより関連付けたスクリプト内で
[[DOM 2]] 以上の[[事象]]に関するメソッド等が利用できます。
DOM 水準2 や DOM 水準 3 はこの属性に対応する
DOM の事象 [CODE(DOM)[[[click]]]] を用意しています。
[[#comment]]
** 属性値
[4] この属性の値は [CODE(SGML)[%[[Script]]]] です。 [[SGML]]
的には [CODE(SGML)[[[CDATA]]]] です。[[スクリプト言語]]は、
[CODE(HTTP)[[[Content-Script-Type]]]] によります。
[5] この属性は省略可能です。
[[#comment]]
** 例
[7]
[PRE(HTML deprecated example code)[
使用ライブラリ:openex.js
]PRE]
[CODE(HTMLe)[[[a]]]] 要素の[[活性化]]時の[[既定動作]]は[[リンク]]の[[探索]]ですが、
[[Webブラウザ]]の操作により明示的に[[ファイル]]として[[保存]]させるために、
[[偽]]を返して[[既定動作]]を取消しています。
[[リンク]]を[[右クリック]]したら[[ファイル]]として[[保存]]を選べるという特定の
[[Webブラウザ]]の挙動に激しく依存したこのような記述は好ましくありません。
出典:
(無題、2002年11月付け)
[[#comment]]
** 関連
[6] この属性に対応する DOM の事象は [CODE(DOM)[[[click]]]]
です。そちらもあわせてごらんください。
* fire a [CODE(DOMe)@en[click]] event
[REFS[
- [19] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2013-05-05 06:42:10 +09:00]] 版)
]REFS]
* メモ
[12]
[CITE[onclick 属性問題について - IT戦記]] ([CODE[2008-05-24 20:47:14 +09:00]] 版)
[13] [CITE@en-GB-x-Hixie[Web Forms 2.0]] ([TIME[2009-01-05 20:07:15 +09:00]] 版)
[14] [[DSiブラウザー]]では [CODE(DOM絵)@en[[[click]]]] をキャンセルするとフォーカスが出なくなるようです。また、フォーカスはイベント終了後に表示されるので、 onclick に時間がかかると表示までに時間がかかります。
[15] [CITE[IRC logs: freenode / #whatwg / 20120609]]
( ([TIME[2012-06-28 21:17:45 +09:00]] 版))
[16] [CITE@en[Web Applications 1.0 r7164 Fix a couple of places that misinvoked the default activation behaviour.]]
( ([TIME[2012-06-30 08:20:00 +09:00]] 版))
[17] [CITE@en[Web Applications 1.0 r7596 Make click() have no effect on links in non-bc'ed docs.]]
( ([TIME[2012-12-20 05:11:00 +09:00]] 版))
[18] [CITE[''''''[''''''whatwg'''''']'''''' Resource loading in browsing context-less Documents]]
( ([TIME[2012-12-20 04:51:06 +09:00]] 版))
[20] [CITE[''''''[''''''whatwg'''''']'''''' Resource loading in browsing context-less Documents]]
( ([TIME[2013-07-12 01:53:37 +09:00]] 版))
[21] [CITE@en[Web Applications 1.0 r8050 Make .click() on certain elements not work if the document isn't active.]]
( ([TIME[2013-07-12 10:53:00 +09:00]] 版))
[22] [CITE[''''''[''''''whatwg'''''']'''''' Inert nodes and element.click()]]
( ([TIME[2013-07-13 09:28:35 +09:00]] 版))
[23] [CITE@en[Web Applications 1.0 r8421 Make sure .click() doesn't fire on disabled form controls.]]
( ([TIME[2014-01-28 04:04:00 +09:00]] 版))