Неожиданное поведение нажатия на IPad - PullRequest
1 голос
/ 16 февраля 2011

У меня есть форма, которая использует таблицу календаря, чтобы помочь пользователю выбрать дату.Календарь виден только тогда, когда пользователь нажимает кнопку, которая отображает календарь под полем ввода даты.

Сам календарь расположен на том же уровне DOM, что и форма, и инициализируется отображением: нет;например:

    <html>
      <body>
        <form class="my-form">
        ...
        </form>
        <div class="my-calendar" style="display:none">
            <table>
                <tr>
                    <td><a>firstday</a><td>
                    ...
                </tr>
            </table>
        </div>
     </body>
   </html>

Когда пользователь нажимает кнопку календаря в форме, календарь отображается, и пользователь может выбрать день одним щелчком мыши.Это работает, как и ожидалось, во всех браузерах, но когда я тестировал его на iPad, он ведет себя довольно неожиданно.При нажатии на день он выбирает не день, а целую таблицу, которая не выполняет никаких действий в JavaScript, а затем щелкает элемент, который географически находится под этим днем. Даже если по какой-то причине щелчок вызывает захват события вместо событиявсплывающее окно не должно переходить к элементу выше иерархии «моего календаря», а не к элементу внутри формы.Кто-нибудь знает, что происходит, я не могу понять это.

ОБНОВЛЕНИЕ: мне удалось избавиться от части поведения, не отключая анимацию ($ .fx.off). Теперь моя проблема заключается в том, что при нажатии на кнопку следующего месяца меняется месяц, но фокус теряетсяи средство выбора даты исчезает.Последняя операция, выполняемая средством выбора даты при нажатии кнопки «следующий месяц», заключается в том, что он фокусируется на таблице с новым месяцем.Как я уже сказал, это прекрасно работает во всех браузерах, кроме мобильного Safari.Я не могу использовать какой-либо сборщик дат для устаревших проблем используемой платформы.Любые идеи о том, что проблема может быть ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...