在一个弹出层里放了input~当点击了input后再把弹出层display设置为none时~光标仍然"残留"在屏幕上~请问怎么才能使input失去焦点~试过$("#inputID").blur()、$("#inputID").hide()、$("#其他控件").focus()都不行~请教大牛~谢谢~

解决方案 »

  1.   

    lz,干脆 input . visible = false 吧, 或者 enabled=false?
      

  2.   

    或者通过 触发 其他 输入控件 的得到焦点事件。
    input2.focus(),
    模拟点击也行。input2.click()
      

  3.   

    你先确定input没有失去焦点吗?如何确定的?如果确定,那这样会造成什么后果吗?请描述一下?
      

  4.   

    to 2楼:
    隐藏弹出层的代码是  $("[id$=popupDiv]").hide();to 3楼:
    试过$("#其他控件").focus()都不行~to 4楼:
    后果就是弹出层隐藏了~但是光标仍然"残留"在屏幕上~
      

  5.   

    onblur 事件会在对象失去焦点时发生。
    asp.net的textbox也也可以使用这个事件在本例中,我们将在用户离开输入框时执行 JavaScript 代码:<html>
    <head>
    <script type="text/javascript">
    function upperCase()
    {
    var x=document.getElementById("fname").value
    document.getElementById("fname").value=x.toUpperCase()
    }
    </script>
    </head><body>输入您的姓名:
    <input type="text" id="fname" onblur="upperCase()" /></body>
    </html>
      

  6.   

    你是说那条一闪一闪的竖线,还在被隐藏文本框之前的位置上闪动?那试试先不要隐藏,只用blur()隐藏焦点试试行不?
      

  7.   


    $("[id$=popupDiv]").hide();隐藏弹出层代码就一句呀~不明白您想要的代码是?
      

  8.   


    是的!!试过$("#inputID").blur()、$("#inputID").hide()、$("#其他控件").focus()都不行~
      

  9.   


    <div><input id="inputID"></div>就在一个div里放一个input咯
      

  10.   

    貌似是IE8的一个bug~QQ空间的留言板也有这样问题~~但是在ff里正常~
      

  11.   

     onfocus="document.getElementById('ucMultiViewSeach1_txt_SearchKey').focus();"
    我用人格担保 任何手段都不能插入值当然除了服务器端和js赋值
      

  12.   

    我也遇到同样的问题,ie7 8都不行 ff chrom opra 都好的,感觉应该可以解决:把焦点移至弹出框即可,例如$('#弹出div').focus
      

  13.   

     <input name="school" onclick="弹出框;school.blur();return false;" autocomplete="on" />
    焦点就没了,各个浏览器都ok