HTML-флажок щелкает, когда я нажимаю в другом месте с iOS - PullRequest
0 голосов
/ 18 января 2012

Должен ли я сообщать об этом как об ошибке в jquerymobile или safari?

Когда я просматриваю следующую HTML-страницу на своем настольном компьютере или Opera mini на iPad, она делает то, что я ожидаю:

  • Я нажимаю Llama, и в сообщении говорится, что на него щелкнули
  • Затем я нажимаю на пустое место на странице, и ничего не происходит.

Когда я его просматриваюна iPad с Safari iOS 5.0.1 он делает что-то странное:

  • Я щелкаю ламу, и в предупреждении говорится, что на нее нажали
  • Затем я нажимаю в пустом местена странице, и предупреждение говорит мне, что Llamas были нажаты.

(В реальном приложении я пытаюсь начать работать, когда я нажимаю на какую-то другую кнопку,он говорит мне, что на лам щелкнули).

Есть ли какой-то обходной путь, чтобы он нажимал кнопку, которую я фактически касаюсь пальцем, а не кнопку ламы?Или я должен сказать всем своим пользователям iPad отказаться от Safari, пока эта ошибка не будет исправлена?

    <!DOCTYPE html> 
    <html> 
        <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
        <!--
        When I click the button,
        and then later click some empty area on the page,
        I expect the button to do nothing.
        It actually triggers the button to turn off.
        -->
        <script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
        <script src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>    

            <input type="checkbox" name="checkbox-1" id="checkbox-1"
class="custom" onClick="alert('Llamas have been clicked !');" />
            <label for="checkbox-1">Llamas</label>
    </html>

Есть живая версия по адресу: http://jsbin.com/ururer

1 Ответ

0 голосов
/ 18 января 2012

Я заметил похожее поведение на iPhone, и оно, похоже, является результатом наложения элементов, и Safari иногда не делает правильный выбор того, какой из них получает событие нажатия, возможно, CSS изменяется, чтобы увеличить границы флажков. .

Попробуйте это без CSS-файла и посмотрите, по-прежнему ли вы получаете поведение.

Это может быть связано с использованием onClick в теге вместо использования методов jQuery для привязки события.

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