- ベストアンサー
ラジオボタンのtabindex = -1について
画面に配置されたラジオボタンにおいて マウス以外からの操作を無効にしたいと考えています。 (タブでの移動を不可としたい。) そこで、ラジオボタン部分にtabindex=-1を付加しましたが、 うまくいきません。 (順番は変更できるようですが。) 最終的にtabでのフォーカスがあたってしまいます。 これは、もうjavascriptで強制的に制御するしかないのでしょうか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
ごめんなさい。ていせいします。 whileを、うしろにつけかえたじょ。 tabindexではなく、classに'pass'をつけると、のーどをたどって つぎにいどうするじょ。ばぶぅ。 if (9 == keycode) { do { if ('INPUT' == element.nodeName && ! ('' + element.className).match(myReg)) { element.focus(); return; } } while (element = getNextNode(element)) }
その他の回答 (4)
- babu_baboo
- ベストアンサー率51% (268/525)
もう~わがままだなぁ~ばぶっ! つまらないものだけど、こんなのはどうだかなぁ~?ばぶぅ。 <form> <p> <input type="text"> <input type="text" class="pass"> <input type="text" class="pass"> <input type="text"> </p> </form> <script type="text/javascript"> //@cc_on document./*@if(@_jscript)attachEvent('on'+ @else@*/addEventListener(/*@end@*/ 'keyup', (function (getNextNode) { var myReg = /\bpass\b/; return function(evt) { var element = evt./*@if(@_jscript) srcElement @else@*/ target /*@end@*/; var keycode = evt.keyCode; if (9 == keycode) { while (element = getNextNode(element)) { if ('INPUT' == element.nodeName && ! ('' + element.className).match(myReg)) { element.focus(); return; } } } }; })( function (node) { var n; if (n = node.firstChild) return n; do if (n = node.nextSibling) return n; while (node = node.parentNode); return null; } ), false ); </script>
- babu_baboo
- ベストアンサー率51% (268/525)
<form> <p> <input type="text" tabindex="1"> <input type="text" tabindex="99" > <input type="text" tabindex="98" onBlur="this.form.elements[0].focus()"> </p> </form> きょうせいてきに、てまえでせんとうに(てきとうなとこに)とばすとか
補足
他に、方法がなければjavascriptで強制的な制御を加える予定です。 ただ、細かい設定が必要な場合もあるので極力避けたいのです。
- yambejp
- ベストアンサー率51% (3827/7415)
そもそもユーザーのアクセシビリティを落とす処理なので やるべきではないと思います。
補足
個人的にもそう思っているのですが・・・。 それが、ユーザの希望なので・・・。
- babu_baboo
- ベストアンサー率51% (268/525)
http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/interact/forms.html#h-17.11.1 HTML4なら、りようできるはんいは0から32767までだじょ! ieだけとくべつに、していできるだけだじょ! よみだしせんようにしておいて、ぽちっとくりっくしたときだけ あつかえるようにするとか・・・ではどうかな? ばぶぅ~。
補足
機能はIE限定なので、-1の指定に問題は特にありません。 readonly も試しましたが、ラジオボタンには効果がないようです。
お礼
試してみた結果。 考えていた通りに動作しました! これを参考にすれば、問題なくできそうです。 しかも、後からのメンテナンスも簡単になりそうです。 どうもありがとうございました。
補足
なるほど、class名を付加して、focus判定を実施すればよいということでしょうか? これなら、設定の調節によってうまくいきそうですね。 試してみます。