Safari для iPhone не может правильно оценить JQuery? - PullRequest
0 голосов
/ 07 октября 2010

Я пытаюсь сделать работу функциональностью, которая существует на моем веб-сайте, но плохо работает в Safari для 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 проверяет, виден ли элемент или нет. Если он виден, он его скрывает, а затем перейдите к выбору «еще». Там он проверяет, является ли элемент видимым или нет. Он найдет его невидимым, а затем заставит его появиться.

Есть ли решение для этого без использования внешнего javascript-фреймворка (кроме jQuery)?

Спасибо, Привет

1 Ответ

1 голос
/ 07 октября 2010

Ну, вы могли бы сделать код намного проще, используя функцию jQuery toggle , чтобы показать / скрыть элемент.

Не уверен, что это решит проблему, которую вы видите...

Тогда код будет:

$("#showOrHide").click(function(){ 
  $(this).parent().next().toggle('slow');
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...