Rumah > Soal Jawab > teks badan
Wira yang dihormati, saya seorang pemula dalam js Saya telah mereka bentuk laman web yang mudah baru-baru ini dan menyalin beberapa kod jq dari laman web.
Saya mendapati bahawa permulaan beberapa segmen kod ialah $(function(){...}), kemudian saya akan menulisnya di dalam $(function(){...}) dalam format ini, seperti $(function( ){$('#denglu_submit').click(function(){...
Tetapi saya juga melihat bahawa beberapa coretan kod tidak mempunyai $(function(){}), tetapi secara langsung $('#denglu_submit') . click(function(){...dll., saya telah mengujinya, dan kedua-duanya nampaknya berfungsi. Jadi saya tidak tahu apa perbezaannya?
过去多啦不再A梦2017-06-26 10:53:00
Jika anda meletakkan kedua-dua kaedah, html
页面结构下面的话,写不写$(function(){})
都行,都是等到页面加载完后执行(别忘了html
akan dihuraikan dan dimuatkan dari atas ke bawah).
Tetapi jika anda meletakkan semuanya pada struktur halaman, perbezaannya akan menjadi besar $(function(){})
为网页加载完后执行,没有$(function(){})
直接写的话是按html页面从上到下的顺序执行,也就是是说如果js
Masa pelaksanaan kod agak lama (seperti mendapatkan jumlah data yang banyak), maka kandungan html berikut tidak akan dimuatkan dan dipaparkan sehingga. js dilaksanakan. Ini jelas tidak munasabah. Anda harus membiarkan kandungan html dipaparkan terlebih dahulu.
Jadi apabila kami menulis kod, kami biasanya menambah $(function(){})
为好,这样就算js
Jika terdapat ralat dalam kod atau mengambil masa yang lama untuk dilaksanakan, kandungan utama halaman boleh dimuatkan tanpa menjejaskan penyemakan imbas halaman web pengguna. Dan yang terbaik adalah meletakkan kod di bawah struktur halaman untuk memastikan halaman dimuatkan sepenuhnya (lagipun, HTML dihuraikan dan dimuatkan mengikut urutan dari atas ke bawah).
Pengetahuan lain yang sedikit $(function(){})
为网页加载完后执行,好像和原生js的window.onload = function() {}
Sama, tetapi terdapat perbezaan yang pertama dilaksanakan selepas struktur (tidak termasuk gambar) dimuatkan, dan yang kedua dilaksanakan selepas struktur (termasuk gambar) dimuatkan.
女神的闺蜜爱上我2017-06-26 10:53:00
$(function(){}) Ini ialah logik di dalam yang dilaksanakan selepas js dimuatkan dan struktur dom dimuatkan.
$('#denglu_submit').click(function(){...}) Ini dilaksanakan selepas js dimuatkan.
阿神2017-06-26 10:53:00
$(function(){...})
Kandungan di sini adalah untuk menunggu nod halaman atau fail yang dirujuk dimuatkan sebelum melaksanakan. Ini memastikan bahawa nod halaman telah dimuatkan dan nod yang sepadan dengan pemilih juga tersedia.
$('#denglu_submit').click(function(){...})
,这个是等加载到这里的时候就执行了,执行的时候并不知道#denglu_submit
有没有加载到页面上。如果页面没有这个节点,那么对应的事件是没有反应的。
你可以试着把这两段段代码都放到head
Jalankannya ke dalam dan anda akan tahu perbezaannya!
phpcn_u15822017-06-26 10:53:00
Adakah anda tahu window.onload? Ini dilaksanakan lebih awal daripada onload
给我你的怀抱2017-06-26 10:53:00
Pertama sekali, biar saya jawab $ ialah nama fungsinya:
$ = function() {
alert('good');
}
$();
Dengan cara ini, tentukan fungsi yang dipanggil $ dan laksanakannya; anda boleh mengujinya sendiri;
$(function() {})
).
$ = function(fun) {
fun();
}
$(function() { alert("good"); } );
$('#denglu_submit').click(function(){alert("good");});
$ = function(a) {
alert(a);
return $;
}
$.click = function(fun) { fun(); };
$("hello").click(function() {alert("fun")});
Sudah tentu, jquery pasti lebih rumit.