2011-02-02 69 views
0

我有与多个窗体与唯一ID的HTML代码。这些表单包含一个输入字段和一个锚标签。 Jquery Click事件与父标签淡出的锚标签相关联,即形式jquery焦点功能淡出后的奇怪行为

概率1.问题在于。如果有一个空间(其中插入符号指示)它工作正常其他明智它不会。我不知道它是否是一个jQuery的bug。

$("form[class='multiwords'] :input:visible:enabled:first").focus(); 
//-------------------------^-------------------------------// 

概率2.当第一形式被去除焦点没有设定到下一个文本字段即具有值两个

只是一个文档版本。成功将焦点光标设置为opera中的文本字段开头后,IE设置为在mozilla结束。这是浏览器问题吗?

整个代码

<html> 
    <head> 
     <title>test</title> 
     <script type='text/javascript' src='js/jquery-1.4.2.js'></script> 
     <script> 
      $(window).load(function() { 
       jQuery(document).ready(function() { 
        jQuery('.perform').live('click', function(event) { 
         var parentTag = "#"+$(this).parent("form").attr("id"); 
         $(parentTag).fadeOut(); 
         $("form[class='multiwords'] :input:visible:enabled:first").focus(); 
        }); 
       }); 
      }); 
     </script> 
     <style type="text/css"> 
      .perform{ 
       cursor: pointer; 
      } 
     </style> 
    </head> 

    <body> 

     <div id="content"> 
      <form id="f1" class='multiwords' name='f1'> 
       <input type=text class="input multi" id='i1' name=da value='one'><a hred=# class='perform' id='a1'>Rem Form One</a> 
      </form> 
      <form id="f2" class='multiwords' name='f2'> 
       <input type=text class="input multi" id='i2' name=da value='two'><a hred=# class='perform' id='a2'>Rem Form Two</a> 
      </form> 
      <form id="f3" class='multiwords' name='f3'> 
       <input type=text class="input multi" id='i3' name=da value='two'><a hred=# class='perform' id='a3'>Rem Form Three</a> 
      </form> 
     </div> 


    </body> 
</html> 
+0

@Kiran ..我无法理解你的问题是什么......我在我的浏览器执行..它工作正常..当我们点击rem表单一个然后它是删除特定的一个...所以最新的问题 – Mihir 2011-02-02 08:49:28

+0

@Mhhir删除后(实际淡出)第一个可见的文本域将有值='二'或id ='i2'这是形式F2正确?然后,该文本框应该在淡出后专注,但不会发生。 – kiranking 2011-02-02 09:13:35

回答

0

#1: 我会建议您使用本机对焦()方法 -

var input = $("form[class='multiwords'] :input:visible:enabled:first"); 

if(input.length) { 
    input[0].focus(); 
} 

IE浏览器有一些问题,jQuery的对焦方式。以下是来自this help topic:的报价

触发焦点隐藏的元素会导致Internet Explorer中的错误。注意仅在可见元素上调用不带参数的.focus()。

#2: 关于插入符的位置,这是一个浏览器的行为。我会建议你在每个焦点上选择文字。因此将避免它。