Rumah > hujung hadapan web > tutorial js > Penjelasan terperinci tentang program_jquery pemprosesan dokumen jQuery

Penjelasan terperinci tentang program_jquery pemprosesan dokumen jQuery

WBOY
Lepaskan: 2016-05-16 09:00:14
asal
3147 orang telah melayarinya

Contoh dalam artikel ini menerangkan program pemprosesan dokumen jQuery. Kongsikan dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Pengendali dokumen jQuery

Apa yang dipanggil pengendali dokumen merujuk kepada acara $(document).ready yang disediakan dalam jQuery Peristiwa ini akan dicetuskan selepas dom dimuatkan, manakala window.onlaod dan body.onload kedua-duanya dicetuskan selepas halaman sepenuhnya. dimuatkan.

Pengenalan kepada program pemprosesan dokumen jQuery

Dalam jQuery, jika anda ingin melaksanakan logik pemprosesan selepas DOM dimuatkan, anda hanya perlu menggunakan acara $(document).ready(). Fungsi acara ini dipanggil "pengendali dokumen jQuery".

Anda boleh menulis pernyataan berikut di mana-mana sahaja pada halaman, walaupun dalam fail js luaran:

$(document).ready(function (){ alert("document.ready")});

Salin selepas log masuk

Pernyataan amaran akan dilaksanakan serta-merta selepas DOM halaman dimuatkan. Jika terdapat imej besar, fail js dan sumber luaran lain pada halaman yang perlu dimuatkan, program pemprosesan dokumen jQuery akan dilaksanakan sebelum mereka, manakala window.onload dan boyd.onload dilaksanakan selepas semua fail sumber dimuatkan.

Fungsi Ready() ialah fungsi objek jQuery yang disediakan dalam jQuery "event function", dengan tandatangan bit ready(fn).

fn ialah fungsi yang dilaksanakan apabila acara sedia berlaku.

Oleh kerana ia adalah fungsi objek jQuery, ini bermakna ia boleh dipanggil pada mana-mana objek jQuery:

$("body").ready(function (){ alert("body.ready")});

Salin selepas log masuk

Pernyataan di atas adalah bersamaan dengan:

$(document).ready(function (){alert("body.ready")});

Salin selepas log masuk

Walaupun fungsi ready() boleh digunakan pada mana-mana objek jQuery, anda mesti memberi perhatian sama ada objek itu mempunyai acara sedia apabila menggunakannya.

Anda juga boleh menggunakan bentuk ringkas "$(fn)":

$(function (){….})
//等效于$(document).ready(function(){…});

Salin selepas log masuk

Seperti semua objek acara dalam jQuery, acara $(document).ready akan dilaksanakan dalam susunan kejadian.

Sebagai contoh, acara $(document).ready boleh dipanggil dua kali:

$(document).ready(function (){alert("document.ready-1")});
$(document). ready(function (){alert("document.ready-2")});

Salin selepas log masuk

Selepas DOM dimuatkan, "document.ready-1" akan dikeluarkan dahulu, dan kemudian "document.ready-2" akan dikeluarkan. Jika menggunakan tradisional:

Window.onload=function(){…..};

Salin selepas log masuk

Kod di atas akan mengendalikan acara asal window.onload dan kemudian mengikat acara baharu.

Kelebihan pengendali dokumen jQuery

Jika skrip perlu dilaksanakan apabila halaman dimuatkan, maka kebanyakan skrip boleh diletakkan dalam acara $(document).ready().

Sebelum menunjukkan kelebihan program pemprosesan dokumen jQuery, mari kita lihat dahulu ralat pengaturcaraan JavaScript biasa: menukar model dom sebelum dom dimuatkan.

Dalam pengaturcaraan javascript tradisional. Kadangkala modul skrip dimasukkan terus di kepala atau bawah halaman dan kod ditulis, seperti contoh berikut:

<!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 
Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>jQueryStorm – 常见错误编程方式举例</title>
  <scriptlanguage="javascript"type="text/javascript"src="../include/jquery-1.7.1.js"></script>
</head>
<body>
<!-- 页面内容部分 –>
<div id="divMsg" style="border:solid 1px#000000;padding:20px;"></div>
<!-- 尾部模块 -->
<script language="javascript" type="text/javascript">
  //这条语句在某些情况下会导致错误
  Document.getElementById("divMsg").innerHTML="<divstyle=\"border:solid 2px #FF0000\">动态添加的图层</div>";
</script>
</boyd>
</html>

Salin selepas log masuk

Contoh ini berfungsi dengan baik dalam semua penyemak imbas, tetapi terdapat bahaya tersembunyi. Kerana apabila halaman dimuatkan, objek div baharu ditambahkan pada bekas divMsg, iaitu objek dom ditambah Apabila kelajuan rangkaian menjadi perlahan atau halaman besar dan mengambil masa tertentu untuk dimuatkan, ". operasi dihentikan" ralat akan berlaku. .

Ralat ini bahkan telah muncul di halaman utama Google, Taobao dan tapak web terkenal yang lain, kerana ralat ini sukar ditemui semasa ujian.

Jadi apabila melakukan pembangunan web, anda mesti ingat satu kebenaran: jangan sekali-kali mengubah suai struktur dom apabila dom dimuatkan.

Jika anda perlu mengubah suai struktur DOM apabila halaman dimuatkan, kaedah asal ialah melaksanakannya melalui peristiwa window.onload dan body.onload Contohnya, untuk contoh ralat di atas, anda boleh mengubah suainya kepada:

<script type="text/javascript">
Window.onload=function()
{
  Document.getElementById("divMsg").innerHTML="<divstyle="\border:solid 2px #FF0000\">动态添加的图层</div>";
};
</script>

Salin selepas log masuk

Terdapat banyak kaedah pelaksanaan khusus Gunakan window.onload dan body.onload kerana kedua-dua acara ini dilaksanakan selepas dom dimuatkan dan semua sumber halaman dimuatkan. Atau nilaikan keadaan dom berdasarkan "document.readyState". Jika ia "lengkap", lakukan operasi tertentu Prinsip ini digunakan secara dalaman dalam program pemprosesan dokumen jQuery $(document).ready.

Pembaca yang berminat dengan lebih banyak kandungan berkaitan jquery boleh menyemak topik khas di tapak ini: "Ringkasan teknik operasi jquery biasa", "Ringkasan penggunaan dan teknik acara biasa jQuery ", " Ringkasan kemahiran data json operasi JQuery", "ringkasan kemahiran operasi xml jQuery" dan "ringkasan kemahiran sambungan jQuery"

Saya harap artikel ini akan membantu semua orang dalam pengaturcaraan jquery.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan