Saya memiliki tag <a href="#"> Previous </a> 1 2 3 4 <a href="#"> Next </a>
dan dalam beberapa kondisi saya ingin tag ini dinonaktifkan sepenuhnya.
Kode dari komentar (begini cara link dibuat)
if (n_index != n_pages)
a = a+'<li><a href="#" onclick="javascript:paginateAjaxPage('+(n_index+1) +','+stype+');">></a></li><li><a href="#" onclick="javascript:paginateAjaxPage('+n_pages+','+stype+');" >>></a></li>';
else
a = a+'<li><a style="cursor: pointer;" onclick="return false;">></a></li><li><a style="cursor: pointer;" onclick="return false" >>></a></li>';
a = a+'</ul></div>';
javascript
html
pejuang
sumber
sumber
Jawaban:
Coba ini ketika Anda tidak ingin pengguna mengalihkan saat diklik
sumber
<a href='javascript:;'>I am a shorter useless link</a>
?\t
, feed baris,\n
dan spasi untuk melihat kode terlipat dan bagus (untuk siapa? Browser) dan sekarang mengkhawatirkan tentang 7 bytevoid(0)
dan / atau a;
, ya Tuhan.Millions millions of tabs\t, line feeds\n and spaces
- ya, ini membuat kode mudah dimengerti, padahalvoid(0)
tidak. Itulah mengapa ini harus dihilangkan atau harus dibuat sesingkat mungkin. Misalnya di sini lebih pendek - adalah untuk memahami (membaca) bukan untuk "kompresi" atau ecomony byte. :)Anda dapat menonaktifkan semua link di halaman dengan kelas gaya ini:
Sekarang tentu saja triknya adalah menonaktifkan tautan hanya jika Anda perlu, ini adalah cara melakukannya:
gunakan kelas A kosong, seperti ini:
lalu saat Anda ingin menonaktifkan tautan, lakukan ini:
CATATAN: Nama aturan CSS diubah menjadi huruf kecil di beberapa browser, dan kode ini peka huruf besar / kecil, jadi lebih baik gunakan nama kelas huruf kecil untuk ini
untuk mengaktifkan kembali tautan:
periksa halaman ini http://caniuse.com/pointer-events untuk informasi tentang kompatibilitas browser
Saya pikir ini adalah cara terbaik untuk melakukannya, tetapi sayangnya IE, seperti biasa, tidak akan mengizinkannya :) Saya tetap memposting ini, karena menurut saya ini berisi informasi yang dapat berguna, dan karena beberapa proyek menggunakan browser yang tahu , seperti saat Anda menggunakan tampilan web di perangkat seluler.
jika Anda hanya ingin menonaktifkan SATU link (saya hanya menyadari bahwa itulah pertanyaannya), saya akan menggunakan fungsi yang secara manual menetapkan url halaman saat ini, atau tidak, berdasarkan kondisi itu. (seperti solusi yang Anda terima)
pertanyaan ini jauh lebih mudah dari yang saya kira :)
sumber
pointer-events:none;
saya tidak pernah tahu tentang tag itu, sangat berguna!Anda cukup memberikan hash kosong:
atau jika itu tidak cukup baik untuk "menonaktifkan", gunakan pengendali kejadian:
sumber
1
jika ditambahkan nanti.Coba ini menggunakan jQuery:
sumber
sumber
Saya menemukan cara ini lebih mudah untuk diterapkan. Dan itu memiliki keuntungan yang Anda js. Tidak di dalam html Anda, tetapi di file yang berbeda. Saya pikir tanpa pelepasan. Kedua acara tersebut masih aktif. Tidak yakin. Tapi di satu sisi Anda hanya membutuhkan acara yang satu ini
sumber
unbind
perlu? Saya percayareturn false
ataue.preventDefault()
akan cukup.MDN merekomendasikan
element.removeAttribute(attrName);
untuk menyetel atribut ke null (atau nilai lain) saat Anda ingin menonaktifkannya. Dalam hal ini akan terjadielement.removeAttribute("href");
https://developer.mozilla.org/en-US/docs/Web/API/Element/removeAttribute
sumber
Cara termudah untuk menonaktifkan tautan adalah dengan tidak menampilkannya. Jalankan fungsi ini setiap kali Anda ingin menguji apakah kondisi Anda terpenuhi untuk menyembunyikan tombol Sebelumnya (ganti
if (true)
dengan kondisi Anda):Kemudian jalankan
testHideNav()
kapan pun Anda perlu memeriksa apakah kondisi Anda telah berubah.sumber
Gunakan span dan onclick javascript sebagai gantinya. Beberapa browser "melompat" jika Anda memiliki link dan href "#".
sumber
javascript: void(0);
ataujavascript:;
. Jika Anda melakukan rendering dari Rails, cukup render span di tempat yang Anda inginkan agar dinonaktifkan.Ini juga mungkin:
Tautan tidak kemana-mana karena fungsi Anda akan dieksekusi.
sumber
Saya memiliki kebutuhan serupa, tetapi motivasi saya adalah mencegah tautan diklik dua kali. Saya menyelesaikannya menggunakan jQuery:
HTML-nya terlihat seperti ini:
sumber
Jadi solusi di atas membuat tautan tidak berfungsi, tetapi jangan membuatnya terlihat (AFAICT) bahwa tautan tersebut tidak lagi valid. Saya mengalami situasi di mana saya memiliki serangkaian halaman dan ingin menonaktifkan (dan membuatnya jelas bahwa ini dinonaktifkan) link yang mengarah ke halaman saat ini.
Begitu:
Ini berjalan melalui daftar tautan, menemukan salah satu yang mengarah ke halaman saat ini (n_root3 mungkin merupakan hal lokal, tetapi saya membayangkan
document
harus memiliki sesuatu yang serupa), dan mengganti tautan dengan konten teks tautan.HTH
sumber
Terima kasih semua...
Masalah saya diselesaikan dengan kode di bawah ini:
sumber
Instal plugin ini untuk jquery dan gunakan
http://plugins.jquery.com/project/jqueryenabledisable
Ini memungkinkan Anda untuk menonaktifkan / mengaktifkan hampir semua bidang di halaman.
Jika Anda ingin membuka halaman dengan kondisi tertentu, tulis fungsi java script dan panggil dari href. Jika kondisi sudah puas Anda buka halaman sebaliknya tinggal melakukan apa-apa.
kode terlihat seperti ini:
Anda juga dapat meletakkan tautan di div dan menyetel properti tampilan dari atribut Style ke none. ini akan menyembunyikan div. Misalnya,
Ini akan menyembunyikan tautan. Gunakan tombol atau gambar untuk membuat div ini terlihat sekarang dengan memanggil fungsi ini di onclick sebagai:
Anda juga bisa meletakkan tag id ke tag html, jadi itu akan terjadi
Dan dapatkan id ini di javascript Anda dengan menggunakan
Salah satunya pasti berhasil haha
sumber
Metode lain untuk menonaktifkan tautan
tag anchor tanpa href akan bereaksi sebagai nonaktif / teks biasa
dari pada
<a href="#"> with href </a>
lihat jsFiddel
semoga bermanfaat.
sumber
Selain void, Anda juga dapat menggunakan:
sumber
0) Anda sebaiknya mengingat bahwa Beberapa browser "melompat" jika Anda memiliki link dan href "#". Jadi cara terbaik adalah menggunakan JavaScript khusus
1) Jika Anda mencari JavaScript khusus , ini dia:
2) Anda dapat mempertimbangkan untuk tidak menggunakan mengikuti
atau
Karena protokol semu javascript dapat membuat halaman dalam status menunggu di beberapa browser, yang dapat menimbulkan konsekuensi yang tidak terduga. IE6 dikenal untuk itu. Tetapi Jika Anda tidak peduli tentang IE6, dan Anda menguji semuanya - ini mungkin solusi yang baik.
3) Jika Anda sudah memiliki
jQuery
danbootstrap
dalam proyek Anda, Anda dapat menggunakannya seperti ini:dimana
.disabled
kelas berasal dari bootstrap.Situs bootstrap formulir Qupte (di sini )
dan
custom JavaScript
telah ditunjukkan di bagian 1sumber
Kode di bawah ini untuk tautan yang dinonaktifkan:
solusi lain yang sangat sederhana adalah:
Solusi pertama adalah efisien.
sumber