cari

Rumah  >  Soal Jawab  >  teks badan

javascript - Pada peranti mudah alih, tatal skrin dengan cepat dan kemudian klik untuk menghentikan penatalan Bagaimana untuk mengelak daripada menyentuh teg <a> secara tidak sengaja dan melompat ke halaman lain apabila mengklik?

1 Soalan:
Jika anda menatal skrin dengan cepat pada peranti mudah alih dan kemudian mengklik untuk menghentikan penatalan, bagaimanakah anda boleh mengelak daripada menyentuh teg secara tidak sengaja dan melompat ke halaman lain apabila mengklik?

2 Ini juga merupakan masalah yang sebenarnya dihadapi dalam pembangunan bahagian hadapan terminal mudah alih Untuk lebih spesifik, dalam keadaan biasa, apabila halaman semasa kami mempunyai banyak kandungan, ketinggian tinggi, dan bar skrol muncul, apabila kami. gunakan tangan kita Leret skrin, dan kandungan halaman pada skrin akan menatal dengan cepat, dan menatal tidak akan berhenti kerana tangan anda telah meninggalkan skrin. Pada masa ini, apabila kami ingin berhenti menatal, kami juga mengetik skrin perlahan untuk menghentikan skrin. Tetapi terdapat masalah pada masa ini Jika kedudukan yang diklik pada skrin kebetulan mempunyai label atau butang, ia akan menjadi mudah untuk memasuki laluan seterusnya. Saya menyemak beberapa arahan mengenai acara skrol pada mdn, tetapi tiada penjelasan mengenai kelajuan proses skrol dan masa tindak balas berhenti.

Idea saya adalah untuk menentukan terlebih dahulu sama ada acara menatal telah berhenti Apabila ia berhenti, kemudian berikan kelewatan masa tertentu sebelum klik berikutnya berkesan. Dalam kes ini, selepas menatal pantas, klik skrin untuk kali pertama untuk menghentikan penatalan skrin Klik skrin untuk kali kedua Jika anda mengklik pada label, anda boleh melompat ke laluan lain. Bagaimanakah ini harus dicapai?

我想大声告诉你我想大声告诉你2744 hari yang lalu842

membalas semua(3)saya akan balas

  • phpcn_u1582

    phpcn_u15822017-05-24 11:38:49

    Adakah keperluan produk anda sangat mendesak? Saya rasa ini tidak sepatutnya menjadi masalah. Jika anda perlu menyelesaikannya, idea anda boleh dilaksanakan Dalam kes itu, anda perlu memproksi semua pautan atau elemen dengan tingkah laku klik Secara peribadi, saya fikir ia adalah pendekatan yang tidak berbaloi.

    balas
    0
  • 滿天的星座

    滿天的星座2017-05-24 11:38:49

    Hanya tetapkan nilai keadaan Contohnya, apabila anda menatal, nilai keadaan adalahScrolling = benar apabila penatalan selesai atau dihentikan dengan mengklik, tetapkan isScrolling = false Pencetusan peristiwa.

    balas
    0
  • 巴扎黑

    巴扎黑2017-05-24 11:38:49

    Saya juga pernah menghadapi masalah yang sama

    • Bezakan antara acara klik dan gantikan acara klik dengan sentuhan

    • Kira tempoh klik dan jarak untuk menentukan sama ada peristiwa klik dicetuskan

    • .

    Jika masih belum jelas, saya akan berikan anda demo nanti

     $('#allItems').delegate('.js-snifferFullNet','click touchend',function(e) {
                console.log('touchend test2 数据是:'+(document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop));
                var  endTime = new Date().getTime() - startTime;
                console.log(endTime);
                if(e.type=='touchend' &&((10<endTime)|| (Math.abs(touch_pos-(document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop))>3))) return;
                else{
                    console.log(this);
                    var type = e.currentTarget.childNodes[2].innerText;
                    regClickBtn.snifferAllNetBtn(type);
                }
            });

    balas
    0
  • Batalbalas