none
【Html】文本框如何onfocus方法触发焦点? RRS feed

  • 问题

  • 以往的文本框触发焦点事件都是先获取该对象,对象.focus() 来获取焦点。

    现在我想利用文本框的onfocus方法来触发。请问语法应该如何写呢?

    <input id="Text1" type="text"  onfocus="javascript:document.getElementById('Text1').focus();" />

    以上我写的代码不正确,要想实现效果,应该如何来修改呢?谢谢!

    • 已移动 Raymond TangModerator 2010年4月18日 12:36 (发件人:.NET Framework 一般性问题讨论区)
    2010年4月17日 11:29

答案

全部回复

  • <script type="text/javascript">
            function A() {
                alert("A");
            }       
    </script>

    <input id="Text1" type="text"  onfocus="A()"/>

    这样Text1获取焦点时触发A().

    2010年4月18日 1:35
  • <script type="text/javascript">
            function A() {
                alert("A");
            }       
    </script>

    <input id="Text1" type="text"  onfocus="A()"/>

    这样Text1获取焦点时触发A().


    你好,你没有明白我要说的意思,我不是要触发什么动作,而是把鼠标定位在该文本框上即可。而以往我是获取文本框对象  如:

    <script type="text/javascript">

    function A(){

    var textobj=document.getElementById('in')l

    textobj.focus();

    }

    </script>

    Html Code如下

    <html>

    <body onload="A()">

    <input type="text" id="in"  onfocus="A()" />

    </body>

    </html>

    以上当页面加载的时候鼠标定位在文本框中。而我的问题和这个类同,只不过不想通过方法引发,直接把A方法里面的东西写到<input>中。<input id="Text1" type="text"  onfocus="javascript:document.getElementById('Text1').focus();" />

    但我写的不对,请教高手应该如何写啊?

    2010年4月18日 8:57
  • 很简单啊,

    比如

    <input type="text" id="in" onload="javascript:this.focus();"  value="hello"/>

    ok!

    2010年4月18日 15:15
  • 如果你还想把光标定位到文本的最后

    你可以这样写

    <script type="text/javascript">

            function setEnd(field) {

                if (field.createTextRange) {

                    var r = field.createTextRange();

                    r.moveStart('character', field.value.length);

                    r.collapse();

                    r.select();

                } }

    </script>

    <input type="text" id="in" onload="javascript:this.focus();" onfocus="javascript:setEnd(this)"  value="hello"/>

    你试试效果,ok

    2010年4月18日 15:22