Saya menggunakan skrip "core ui select" untuk menata formulir saya di situs web saya. Semuanya berfungsi dengan baik untuk pengguna desktop, tetapi sejak beberapa saat ada banyak laporan dari pengguna yang menggunakan ponsel. Mereka mengatakan bahwa mereka tidak dapat mengubah opsi karena berwarna abu-abu.

Jadi saya melakukan tes menggunakan plugin firefox yang disebut "Agen Pengguna Default" dan saya mengalihkan agen browser saya ke iPhone. Kemudian saya menyadari bahwa seluruh formulir berhenti berfungsi, tetapi hanya untuk pengguna seluler

Inilah halaman pengujian jika Anda ingin melihat masalahnya secara langsung (Anda harus mengubah agen pengguna Anda untuk mereproduksi bug): https://www.ni-dieu-ni-maitre.com/test_mobile.php

Dan inilah kode halamannya.

<script type="text/javascript" src="https://www.no-gods-no-masters.com/scripts/jquery-1.8.2.min.js"></script>
<link href="https://www.no-gods-no-masters.com/scripts/css/core-ui-select.css" media="screen" rel="stylesheet" type="text/css">
<link href="https://www.no-gods-no-masters.com/scripts/css/jquery.scrollpane.css" media="screen" rel="stylesheet" type="text/css">
    <script>
    $(document).ready(function(){
       $('#impression').coreUISelect();
    });
    </script>
</head><body>

<select class="b-core-ui-select__dropdown" name="impression" id="impression">
<option>Printing on front</option>
<option>Printing on back</option>
</select>

<script src="https://www.no-gods-no-masters.com/scripts/js/jquery.core-ui-select.js"></script>
</body>
</html>
12
libertaire 21 Mei 2015, 20:55
Saya baru menyadari bahwa bahkan halaman demo dari skrip pemilihan Core UI memiliki bug ini... Jadi ini bukan bug dengan situs web saya tetapi dengan skrip core-ui-select... Adakah yang tahu cara memperbaikinya? Saya bisa membayar untuk pekerjaan itu
 – 
libertaire
22 Mei 2015, 08:27
Inti UI tidak benar-benar dirancang untuk seluler. Anda dapat mencoba ini: touchpunch.furf.com Saya menambahkan skrip kecil ini untuk menggunakan slider uicore dan bekerja dengan sempurna pada semua perangkat seluler yang harus saya uji, termasuk iPAD, iPhone, Samsung galaxy s3-4-5. Semoga membantu
 – 
Bene
25 Mei 2015, 18:18

1 menjawab

Jawaban Terbaik

Ini bukan bug. Saat dijalankan pada perangkat seluler, plugin (core-ui-select) secara eksplisit melewatkan kode manipulasi DOM yang dimaksudkan untuk menampilkan dropdown.

Untuk melihat ini, Anda dapat mengatur break point di jquery.core-ui-select.js nomor baris 176.

CoreUISelect.prototype.showDropdown = function() {
        this.domSelect.focus();
        this.settings.onOpen && this.settings.onOpen.apply(this, [this.domSelect, 'open']);
        if($.browser.mobile) return this; //176: this skips the rest on mobile
        if(!this.isSelectShow) {
            this.isSelectShow = true;
            this.select.addClass('open');
            this.dropdown.addClass('show').removeClass('hide');
            if(this.isJScrollPane) this.initJScrollPane();
            this.scrollToCurrentDropdownItem(this.dropdownItem.eq(this.getCurrentIndexOfItem()));
            this.updateDropdownPosition();
        }
    }

Evaluasi pada baris 176: $.browser.mobile dievaluasi menjadi true saat diketuk (saya mensimulasikan perangkat seluler di Chrome) dan kode sisanya dilewati.

Perbaiki: Menghapus garis menunjukkan tarik-turun dengan baik.

5
BluePill 26 Mei 2015, 01:50