2011-02-27 144 views
0

好吧,似乎我偶然发现了另一个JQuery问题,但我认为这是更多的浏览器问题。下面的代码似乎从IE7 &在所有浏览器的工作天晴歌剧JQuery和浏览器兼容性:焦点

function inputs() { 
$('#search').css({opacity: .25}).hoverIntent( function() { 
           $(this).stop(true,true).animate({opacity: 1}, 500); 
          }, 
          function() { 
           if(!$('#mod_search_searchword').is(':focus')) { 
            $('#search').stop().delay(500).animate({opacity: .25}, 500); 
           } 
          } 
         ); 
$('#search').focusout(function(){$(this).stop(true,true).animate({opacity: .25}, 500);}); 

}

效果是简单的...我只是想它,以便一旦搜索输入字段徘徊,以提高其不透明度,然后当它悬停恢复到原来的不透明度,但如果输入字段是活动的不执行徘徊,直到他们聚焦。但出于某种原因:重点似乎不被Opera或IE7认可。有没有解决办法?

+0

好吧小时关闭头脑风暴,我终于有解决方案提出了之后老实说,我不能相信这花了我这么长时间才意识到这一点......但任何人与同样的问题...我刚刚宣布一个var = false ..然后,如果focusin被启动,然后将var变成真正的悬停然后,如果(var == false),以优秀的淡出其他什么都不做。 .. – Edhen 2011-02-27 12:46:57

+0

:重点从来没有在IE7中工作,只在IE8支持。它在Opera中有效,所以我不知道那里有什么问题。 – Rob 2011-02-27 17:36:16

+0

嗯,我不明白,无论是关于歌剧,而且我知道IE7不支持它,但我收集JQuery可能有不同或其他什么interperated它。请注意,我对JavaScript非常陌生,只是试图比较一个值或布尔变得越来越难,那么它应该.. – Edhen 2011-02-27 23:42:38

回答

0

我没有发现:在最新的jQuery文档对焦选择。

必须扩展jQuery来使用这个feature.Answered here

+0

感谢您的答案和您的权利......但我发誓我在文档中看到它......但我必须只是在下意识地想太多在那里左右..然而,它适用于除Opera和IE7以外的所有浏览器,所以必须有一些事实......无论如何,我试图限制插件被加载的开销,并且我的解决方案与一些额外的线路击败了几百从一个插件..感谢寿 – Edhen 2011-02-27 23:39:55

0

试试看。

setTimeout(function() { document.getElementById('mod_search_searchword').focus(); }, 10); 

,或者您也可以使用:主动

+0

我不认为解决方案是什么后即时通讯。我不希望强制一个焦点...我只想Safari和IE7知道它的重点或不...我也尝试了:主动但是也没有工作 – Edhen 2011-02-27 09:27:14

+0

这是一个猜测。我不确定它是否会起作用。如果(:active),则setTimeout()。 – 2011-02-27 09:49:01

+0

Nop仍然没有去,Ive尝试了很多不同的组合,但没有成功......我的天天JavaScript正在成为我遇到的最笨的脚本语言......我告诉它,它完全不理解简单的逻辑。如果条件对某些元素来说似乎是不可能的,我想我也不能责怪语言,因为我可以责怪浏览器程序员tho ......要么他们拿起Sh @%并坚持标准或者1个浏览器统治所有。 ..直到那时,我们将永远在这些网站寻找解决方案 – Edhen 2011-02-27 10:39:11