jquery шоу не работает с href tel нажмите на android chrome - PullRequest
0 голосов
/ 08 февраля 2020

Я создал веб-страницу для мобильных устройств, в которой хочу открыть диалоговое окно jquery ui, а затем нажимать на число при нажатии на ссылку. все, что я сделал, было

$( "#dialog" ).dialog( "open" ) 

, а затем

$("#link").click().  

Ссылка href="tel:2342342345".

Если я не на мобильном телефоне, он откроет Диалог нормально, но, очевидно, игнорирует щелчок, потому что это не телефон. В течение часа я пробовал разные вещи, и вот некоторые из результатов:

Если я установлю тайм-аут на клик, если он меньше, чем примерно секунда, он не откроет диалоговое окно и не выведет телефон. Если это более секунды, он откроет диалоговое окно и затем просто проигнорирует телефон. Я попытался добавить событие о фокусе в окно, думая, что после завершения телефонного звонка они go вернутся к chrome, откроет диалоговое окно, но это не так. Я попытался добавить вызов ajax перед щелчком, чтобы открыть окно позже, но, похоже, это работает как settimeout. Если он быстрый, он просто открывает интерфейс телефона и никогда не открывает диалоговое окно, а если он медленный, он никогда не открывает интерфейс телефона.

Я также попробовал это, просто создав div с дисплеем: none и затем выполните $('#div').show(), и он будет действовать точно так же.

Не уверен, что он будет работать на телефонах других типов, поскольку я не проверял.

Я также попытался добавить событие onblur, чтобы сделать это, но это не срабатывает ни на android при работе на рабочем столе.

1 Ответ

0 голосов
/ 08 февраля 2020

<html>
  <head>
    <title></title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta content="">
   <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
    <style></style>
  </head>
  <body>
    <div>
    
    <a href="#" id="link">call</a>
    <!--open browser devtool and check in mobile divase -->
    </div>
    <script>
    $(document).ready(function(){

        if(window.innerWidth < 769){
            $('#link').attr("href", 'tel:2342342345');
        }
        if(window.innerWidth > 769){
            $('#link').attr("href", '#');
        }
        console.log($('#link').attr("href"))
    })
    </script>
  </body>
</html>

не в состоянии понять, что вы хотите. Я думаю, что вы хотите это в соответствии с вашим письмом «Если я не на мобильном телефоне, он будет нормально открывать диалоговое окно, но, очевидно, игнорирует щелчок, потому что это не телефон. Я пробовал разные вещи в течение часа, и вот некоторые результатов: "

...