Kode:
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script type="text/javascript">
$("#clicker").click(function () {
alert("Hello!");
$(".hide_div").hide();
});
</script>
Kode di atas tidak berfungsi. Ketika saya mengklik #clicker, itu tidak mengingatkan dan tidak bersembunyi. Saya memeriksa konsol dan tidak ada kesalahan. Saya juga memeriksa untuk melihat apakah JQuery sedang dimuat dan memang demikian. Jadi tidak yakin apa masalahnya. Saya juga melakukan fungsi siap dokumen dengan peringatan dan berfungsi jadi tidak yakin apa yang saya lakukan salah. Tolong bantu. Terima kasih!
javascript
jquery
onclick
click
onclicklistener
starbucks
sumber
sumber
Jawaban:
Anda seharusnya menambahkan kode javascript dalam satu
$(document).ready(function() {});
blok.yaitu
Seperti dokumentasi jQuery menyatakan: "Sebuah halaman tidak dapat dimanipulasi dengan aman sampai dokumen" siap ". JQuery mendeteksi keadaan kesiapan ini untuk Anda. Kode yang disertakan di dalamnya
$( document ).ready()
hanya akan berjalan setelah halaman Document Object Model (DOM) siap untuk JavaScript kode untuk mengeksekusi "sumber
.on()
kerjanya. Anda dapat (secara opsional) menggunakannya untuk membuat penangan yang didelegasikan, tetapi bagaimanapun juga itu tidak "mengikis halaman", itu mengikat pendengar ke elemen tertentu di objek jQuery tempat Anda memanggilnya.Saya menemukan solusi terbaik untuk masalah ini dengan menggunakan ON dengan $ (dokumen).
untuk id mulai dengan lihat di bawah ini:
akhirnya setelah 1 minggu saya tidak perlu menambahkan onclick triger. Saya harap ini akan membantu banyak orang
sumber
Kode Anda mungkin berfungsi tanpa document.ready () hanya pastikan bahwa skrip Anda setelah #clicker. Lihat demo ini: http://jsbin.com/aPAsaZo/1/
Ide dalam konsep siap. Jika Anda yakin bahwa skrip Anda adalah yang terbaru di halaman Anda atau setelah elemen yang terpengaruh, itu akan berfungsi.
PEMBERITAHUAN: Dijsbinganti demo
http
dengan yanghttps
ada di kode, atau gunakan Demo varian inisumber
document.ready()
fungsi tersebut.Anda harus membungkus Kode-Javascript Anda dengan
$(document).ready(function(){});
Lihat JSfiddle ini .Kode JS:
sumber
Coba tambahkan
$(document).ready(function(){
ke awal skrip Anda, lalu});
. Juga, apakahdiv
memiliki id di dalamnya dengan benar, yaitu sebagai id, bukan kelas, dll.?sumber
Pastikan tidak ada apa pun di tombol Anda (seperti div atau img transparan) yang mencegah mengklik tombol. Kedengarannya bodoh, tetapi terkadang kami berpikir bahwa jQuery tidak berfungsi dan semua itu terjadi dan masalahnya ada pada posisi elemen DOM.
sumber
Anda dapat menggunakan
$(function(){ // code });
yang dieksekusi ketika dokumen siap untuk mengeksekusi kode di dalam blok itu.sumber
Sekadar pemeriksaan singkat, jika Anda menggunakan mesin template sisi klien seperti setang, js Anda akan dimuat setelah document.ready, maka tidak akan ada elemen untuk mengikat acara tersebut, oleh karena itu gunakan penangan onclick atau gunakan di body dan periksa target saat ini
sumber