• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:現在のカーソル行を知りたい。)

現在のカーソル行を知りたい

このQ&Aのポイント
  • 'KeyDown'の下記サンプルコードでfunction msgにきたときに何番目のテキストボックスでKeyDownされたか知りたいのですが、関数があればお教え下さい。
  • 現在のカーソル行を知るために、'KeyDown'のイベントを利用して関数msgを呼び出し、テキストボックスでのKeyDown時のインデックスを取得したいです。
  • 下記のHTMLコードでは、keydownイベントが発生した際にmsg関数が呼び出されます。テキストボックスのkeydownが発生した場合、そのインデックス(何番目のテキストボックスか)を取得したいです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#84373
noname#84373
回答No.1

さて、こういうこと? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <title>サンプル</title> <body> <form name="myForm" method="POST" target="_self"> <input type="text" name="text1"><BR> <input type="text" name="text1"><BR> <input type="text" name="text1"><br> <input type="text" name="text1"><br> <input type="submit" name="button1" value="button"> </form> <script type="text/javascript"> //@cc_on /*@if(@_jscript)attachEvent('on'+ @else@*/addEventListener(/*@end@*/'load', function(){ document.body./*@if(@_jscript)attachEvent('on'+ @else@*/addEventListener(/*@end@*/'keydown', msg, false); }, false); function msg(evt) { var c = 0; var e = evt./*@if(@_jscript) srcElement @else@*/ target /*@end@*/; if (e.tagName == 'INPUT' && e.type == 'text') { while (e && e.nodeName != 'FORM') { if (e.nodeName == 'INPUT' && e.type == 'text') c++; e = getPreviousNode(e); } alert(c +'番目'); } } function getPreviousNode (node) { var n; if (n = node.previousSibling) { while (n.hasChildNodes()) n = n.lastChild; return n; } return node.parentNode; } </script>

obone
質問者

お礼

私の知的レベルでは内容理解できませんが、なりました。 ありがとうございました。

関連するQ&A