Safari for iPhone无法正确评估jQuery?

时间:2010-10-07 15:42:05

标签: jquery mobile-safari visibility

我正在努力使工作成为我网站上存在的功能,但在Safari for iPhone上运行不佳。

好吧,我有一个“li”元素:

..
    <li><input id='showOrHide' type='button' value='show or hide'/></li>
    <li><input type='text' value='ok'/></li>
..

当我点击“显示或隐藏”按钮时,文本输入应该显示或消失。

然后,我有一个绑定点击的jQuery函数:

$("#showOrHide").click(function(){
  if($(this).parent().next().is(':visible'))
    $(this).parent().next().hide('slow');
 else
    $(this).parent().next().show('slow');
});

问题在于,如果元素出现,Safari隐藏它然后显示它。

所以我认为Safari会检查元素是否可见。如果它可见,它隐藏它,然后转到“其他”选择。在那里,它检查元素是否可见。它会发现它不可见,然后会出现。

有没有使用extrernal javascript框架(但是jQuery)的解决方案?

谢谢, 此致

1 个答案:

答案 0 :(得分:1)

嗯,通过使用jQuery toggle函数显示/隐藏元素,可以使代码更简单。

不确定这是否能解决您所看到的问题......

代码将是:

$("#showOrHide").click(function(){ 
  $(this).parent().next().toggle('slow');
});