Нажмите событие на элементе напрямую - PullRequest
0 голосов
/ 01 ноября 2018

У меня проблема с событиями кликов в ios safari. Когда я click на промежутке ничего не происходит в первый раз. Но когда я сосредотачиваюсь на диапазоне, выбранном, то после событий щелчка работает. Может кто-нибудь объяснить это странное событие? или любое предложение? Вот мой JavaScript:

window.selectText = function() {
    $('.banks .number').on('click', function(e) {
        $(this).select();

        var doc = document,
            text = this,
            range,
            selection;

        if (doc.body.createTextRange) {
            range = document.body.createTextRange();
            range.moveToElementText(text);
            range.select();
        } else if (window.getSelection) {
            selection = window.getSelection();
            range = document.createRange();
            range.selectNodeContents(text);
            selection.removeAllRanges();
            selection.addRange(range);
        }    
    });
}

И фрагмент HTML:

<div class="banks">
    <div class="bank-title">Хүлээн авагчийн данс</div>
    <div class="bank khaan">
        <div class="spacer" id="test">
            <div class="logo"></div>
            <span class="number">5037639120</span>
            <span class="name">Хаан банк</span>
        </div>
    </div>
    <div class="bank khas">
        <div class="spacer">
            <div class="logo"></div>
            <span class="number">5002086050</span>
            <span class="name">Хас банк</span>
        </div>
    </div>
</div>

И моя цель - когда пользователи нажимают span.number, они должны выбирать тексты. Но я не понимаю, почему событие щелчка не срабатывает при первом щелчке, и после того, как сфокусированный интервал выбран, то другие события щелчка работают.

1 Ответ

0 голосов
/ 01 ноября 2018

  $(document).ready(function () {
          
            jQuery(".banks").click(function () {
               
                jQuery(".number").click(function (e) {
                    var se = window.getSelection();
                    alert(se);
                    //your logic can apply here
                    exit();
                });
                
            });
           
           
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...