画面に配置されたラジオボタンにおいて
マウス以外からの操作を無効にしたいと考えています。
(タブでの移動を不可としたい。)

そこで、ラジオボタン部分にtabindex=-1を付加しましたが、
うまくいきません。
(順番は変更できるようですが。)
最終的にtabでのフォーカスがあたってしまいます。

これは、もうjavascriptで強制的に制御するしかないのでしょうか?

A 回答 (5件)

ごめんなさい。

ていせいします。
whileを、うしろにつけかえたじょ。
tabindexではなく、classに'pass'をつけると、のーどをたどって
つぎにいどうするじょ。ばぶぅ。

   if (9 == keycode) {
    do {
     if ('INPUT' == element.nodeName && ! ('' + element.className).match(myReg)) {
      element.focus();
      return;
     }
    } while (element = getNextNode(element))
   }

この回答への補足

なるほど、class名を付加して、focus判定を実施すればよいということでしょうか?
これなら、設定の調節によってうまくいきそうですね。

試してみます。

補足日時:2009/05/13 14:34
    • good
    • 0
この回答へのお礼

試してみた結果。
考えていた通りに動作しました!

これを参考にすれば、問題なくできそうです。
しかも、後からのメンテナンスも簡単になりそうです。

どうもありがとうございました。

お礼日時:2009/05/13 14:52

もう~わがままだなぁ~ばぶっ!


つまらないものだけど、こんなのはどうだかなぁ~?ばぶぅ。
<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>
    • good
    • 0

<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で強制的な制御を加える予定です。
ただ、細かい設定が必要な場合もあるので極力避けたいのです。

補足日時:2009/05/13 11:51
    • good
    • 0

そもそもユーザーのアクセシビリティを落とす処理なので


やるべきではないと思います。

この回答への補足

個人的にもそう思っているのですが・・・。
それが、ユーザの希望なので・・・。

補足日時:2009/05/13 11:40
    • good
    • 0

http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401 …

HTML4なら、りようできるはんいは0から32767までだじょ!
ieだけとくべつに、していできるだけだじょ!

よみだしせんようにしておいて、ぽちっとくりっくしたときだけ
あつかえるようにするとか・・・ではどうかな? ばぶぅ~。

この回答への補足

機能はIE限定なので、-1の指定に問題は特にありません。

readonly も試しましたが、ラジオボタンには効果がないようです。

補足日時:2009/05/13 11:43
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング