<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><section><h1>onkeypress 属性 (HTML, XHTML 1)</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML</anchor> のほとんどの<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素型</anchor>で用意されている 
<dfn><code class="HTMLa">onkeypress</code> 属性</dfn>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素</anchor>の上で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">鍵</anchor>が押され、
離された時に発生する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事象</anchor>に関する<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">内在事象</anchor>属性です。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> 仕様書:<ul><li><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTML 4</anchor><ul><li><code class="HTMLa">onkeypress</code> 属性
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="IW" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="HTML4:&quot;interact/scripts.html#adef-onkeypress&quot;">IW:HTML4:&quot;interact/scripts.html#adef-onkeypress&quot;</anchor-external></li></ul></li></ul></p><section><h1>代替</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> 内在事象属性は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">表現と構造の分離</anchor>の原則に反するので、
好ましくないと考える人もいます。また、 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM 0</anchor>
に基づく古い設計です。</p><p>代わりに、 <code class="HTMLe"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">script</anchor></code> 要素などにより関連付けたスクリプト内で
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">DOM 2</anchor> 以上の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">事象</anchor>に関するメソッド等が利用できます。
DOM 水準 3 はこの属性に対応する
DOM の事象 <code class="DOM"><var>ev:</var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">textInput</anchor></code> を用意しています。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end>
asa
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">aa</anchor> [a] <weak xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">2004-11-15 02:26:21 +00:00</weak>)</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>属性値</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> この属性の値は <code class="SGML">%<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Script</anchor></code> です。 <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">SGML</anchor>
的には <code class="SGML"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">CDATA</anchor></code> です。
自称が発生したときに実行するスクリプトの code
を記述します。<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト言語</anchor>は、
<code class="HTTP"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Content-Script-Type</anchor></code> によります。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> この属性は省略可能です。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>他との関係</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> この属性に対応する DOM の事象は <code class="DOM"><var>ev:</var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">textInput</anchor></code>
です。そちらもあわせてごらんください。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> 鍵が押された時には <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onkeydown</anchor></code> 
事象が、離された時には <code class="HTMLa"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onkeyup</anchor></code>
事象が発生します。</p><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section><section><h1>メモ</h1><form xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" ref="comment"></form></section></section><section><h1>メモ</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <cite xml:lang="ja">あんちもん2.Lab: onkeypress、乱用禁止!</cite> (<time>2009-01-04 18:34:54 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.antimon2.atnifty.com/2007/04/no-abuse_of_onkeypress.html">http://www.antimon2.atnifty.com/2007/04/no-abuse_of_onkeypress.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <cite xml:lang="ja">あんちもん2.Lab: 【提案】onkeypressの正しい併用の仕方!</cite> (<time>2009-01-04 18:37:20 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://www.antimon2.atnifty.com/2007/04/correct_onkeypress.html">http://www.antimon2.atnifty.com/2007/04/correct_onkeypress.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <cite xml:lang="en">DOM3 Key events</cite> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Oliver Hunt</anchor> 著, <code>2007-08-02 06:42:52 +09:00</code> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://lists.w3.org/Archives/Public/public-webapi/2007Aug/0007.html">http://lists.w3.org/Archives/Public/public-webapi/2007Aug/0007.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <cite xml:lang="en">DOM3 Key events</cite> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Oliver Hunt</anchor> 著, <code>2007-08-02 06:42:52 +09:00</code> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://lists.w3.org/Archives/Public/public-webapi/2007Aug/0007.html">http://lists.w3.org/Archives/Public/public-webapi/2007Aug/0007.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <cite xml:lang="en">DOM3 Key events</cite> (<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Oliver Hunt</anchor> 著, <time>2007-08-02 06:42:52 +09:00</time> 版) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="http://lists.w3.org/Archives/Public/public-webapi/2007Aug/0007.html">http://lists.w3.org/Archives/Public/public-webapi/2007Aug/0007.html</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーム制御子</anchor>で <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Enter</anchor> を押すと行われる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">既定提出ボタン</anchor>による<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">フォーム提出</anchor>を中止しようとして
<code class="HTMLa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onkeypress</anchor></code> を <code class="JS" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">return</anchor> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">false</anchor></code> でとめようとしても、 
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">WinIE</anchor> ではうまくいきません。
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Firefox</anchor> や <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Opera</anchor> では成功します。) どのブラウザでも中止させるには
<code class="DOMa" xml:lang="en"><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">onsubmit</anchor></code> をとめるのがいいです。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <cite xml:lang="ja">近いうちに非表示キーが keypress イベントを発生させなくなります (影響あり) | Firefox サイト互換性情報</cite>
(<time>2018-05-14 07:48:46 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://www.fxsitecompat.com/ja/docs/2018/non-printable-keys-will-soon-stop-firing-keypress-event/">https://www.fxsitecompat.com/ja/docs/2018/non-printable-keys-will-soon-stop-firing-keypress-event/</anchor-external></p></section></body></html>