Нажмите событие на элементе напрямую

Kh Shuren-Erdene спросил: 07 октября 2018 в 01:03 в: javascript

У меня проблема с событиями кликов в 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>

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


0 ответов