inputButtonObject.accessKeyは、汎用ボタン(type属性がbuttonであるinput要素)のaccessKey属性の値を取得、もしくは、設定するプロパティ。
accessKey属性は、アクセラレータキーを指定できる。アクセラレータキーを指定しておくことで、アクセラレータキーとALTキーを同時に押したとき、該当するアクセラレータキーのbutton要素のクリックイベントを発生させることができる。
2013年12月03日現在、IEやChromeの場合、同時に押すのは「ALTキー」と「アクセラレータキー」の2つのキーだが、Firefoxの場合、「ALTキー」と「Shiftキー」と「アクセラレータキー」の3つのキーを同時に押す必要がある。
構文
取得
var $accessKey = $inputElementReference.accessKey;
戻り値
汎用ボタン(type属性がbuttonであるinput要素)のaccessKey属性の値。
設定
$inputElementReference.accessKey = inputElementAccessKey;
- inputElementAccessKey
- アクセラレータキーを、半角の英数字か記号の一文字で指定。
サンプル
カウントアップボタンのaccessKey属性の値:
0
サンプルの動作について
- 「d」ボタンをクリックするか、キーボードの「ALTキーとAキー(IEやChromeの場合)」か「ALTキーとShiftキーとAキー(Firefoxの場合)」を同時に押すと、「カウントアップ」ボタンのaccessKey属性値を「d」に設定する。「カウントアップボタンのaccessKey属性の値:」の右横に「d」と表示する。「カウントアップ」ボタンをクリックするか、キーボードの「ALTキーとDキー(IEやChromeの場合)」か「ALTキーとShiftキーとDキー(Firefoxの場合)」を同時に押すと、「カウントアップ」ボタンの横の数字をカウントアップする。
- 「e」ボタンをクリックするか、キーボードの「ALTキーとAキー(IEやChromeの場合)」か「ALTキーとShiftキーとAキー(Firefoxの場合)」を同時に押すと、「カウントアップ」ボタンのaccessKey属性値を「e」に設定する。「カウントアップボタンのaccessKey属性の値:」の右横に「e」と表示する。「カウントアップ」ボタンをクリックするか、キーボードの「ALTキーとEキー(IEやChromeの場合)」か「ALTキーとShiftキーとEキー(Firefoxの場合)」を同時に押すと、「カウントアップ」ボタンの横の数字をカウントアップする。
- 「f」ボタンをクリックするか、キーボードの「ALTキーとAキー(IEやChromeの場合)」か「ALTキーとShiftキーとAキー(Firefoxの場合)」を同時に押すと、「カウントアップ」ボタンのaccessKey属性値を「f」に設定する。「カウントアップボタンのaccessKey属性の値:」の右横に「f」と表示する。「カウントアップ」ボタンをクリックするか、キーボードの「ALTキーとFキー(IEやChromeの場合)」か「ALTキーとShiftキーとFキー(Firefoxの場合)」を同時に押すと、「カウントアップ」ボタンの横の数字をカウントアップする。
サンプルのソースコード
JavaScript
<script type="text/javascript">
function setAccessKey( $accessKey ) {
var $elementReference = document.getElementById( "sample" );
$elementReference.accessKey = $accessKey;
var $accessKey = $elementReference.accessKey;
document.getElementById( "sampleOutputA" ).innerHTML = $accessKey;
}
var $count = 0;
function countUp() {
document.getElementById( "sampleOutputB" ).innerHTML = ++$count;
}
</script>
function setAccessKey( $accessKey ) {
var $elementReference = document.getElementById( "sample" );
$elementReference.accessKey = $accessKey;
var $accessKey = $elementReference.accessKey;
document.getElementById( "sampleOutputA" ).innerHTML = $accessKey;
}
var $count = 0;
function countUp() {
document.getElementById( "sampleOutputB" ).innerHTML = ++$count;
}
</script>
HTML
<p>
<button onclick="setAccessKey('d');" accessKey="a">d</button>
<button onclick="setAccessKey('e');" accessKey="b">e</button>
<button onclick="setAccessKey('f');" accessKey="c">f</button>
</p>
<p>カウントアップボタンのaccessKey属性の値:<span id="sampleOutputA"></span></p>
<p><input type="button" value="カウントアップ" id="sample" onclick="countUp();" accessKey="d"><span id="sampleOutputB" style="margin-left: 10px;">0</span></p>
<button onclick="setAccessKey('d');" accessKey="a">d</button>
<button onclick="setAccessKey('e');" accessKey="b">e</button>
<button onclick="setAccessKey('f');" accessKey="c">f</button>
</p>
<p>カウントアップボタンのaccessKey属性の値:<span id="sampleOutputA"></span></p>
<p><input type="button" value="カウントアップ" id="sample" onclick="countUp();" accessKey="d"><span id="sampleOutputB" style="margin-left: 10px;">0</span></p>