Toggled()文本输入字段在Jquery 1.3.2中的IE6中不起作用

时间:2009-10-09 02:15:34

标签: javascript jquery internet-explorer-6

在IE6中显示()或切换()最初隐藏的文本输入字段后,无法在框中输入任何文本。聚焦()也不可能在元素上。

我正在使用jquery 1.3.2

这是代码......有什么想法吗?

 $(document).ready(function(){
    $(".hide").click(function(){
        $(".form").toggle();

    })
})

和HTML

<form>
    <div class="hide">
        Show
    </div>
    <div class="form" style="display:none">
        <input type="text" name="crap">
    </div>
</form>

3 个答案:

答案 0 :(得分:0)

通常情况下这很好。你有没有可能导致另一个元素“覆盖”文本输入的css?

重复的div或其他项目通常会阻止您在不知道原因的情况下点击。

特别是如果您的页面在IE6中以Quirks模式呈现,则异常元素可能是一个主要问题,很难找到。确保您的代码和CSS都使用W3C Validator验证。

答案 1 :(得分:0)

在IE6中适合我:请参阅http://jsbin.com/uzonihttp://jsbin.com/uzoni/edit进行编辑):

完整的测试用例:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
  <form>
    <div class="hide">Show</div>
    <div class="form" style="display:none">
      <input type="text" name="crap" />
    </div>
  </form>
  <script type="text/javascript">
  $(document).ready(function(){
      $(".hide").click(function(){
          $(".form").toggle();
          if($(".form").is(":visible")) {
              $(".form input")[0].focus()
          }
      })
  })
  </script>
</body>
</html>

显示输入后,我可以focus()并输入框。

答案 2 :(得分:0)

对不起家伙这似乎是由于我的机器上安装了多个错误导致的。它似乎在安装了IE6的机器上运行良好。