在这里提出的事件,当他们发生在一个确定的HTML元素上的时候,他们的名字能够被大多数的浏览器所识别。也就是说,浏览器会查找你为这个HTML元素所注册的事件处理程序的脚本,而且会被立即执行。
一开始只有为数很少的一些事件。这些事件在几乎所有的JavaScript浏览器都能运行,即使是那些非常古老的。需要注意的是那些早期的事件只能工作在链接或者表单上,有时候也能运行在整个窗口上,但是其他的大多数HTML元素不行。
时代变迁,很多新的事件也给大家介绍过了。第四代浏览器和更高级的浏览器允许事件注册在任何的HTML元素上。
所以你基本上可以在任何元素上绑定任何事件,虽然在
上绑定一个keydown没有什么意义。
在这里查看完整的浏览器事件兼容性列表。
界面事件(Interface events)
界面事件不是被用户动作触发的,而是被用户行为结果触发。用户在任何元素上单击都会触发一个click时间。当点击发生在有特殊含义的元素上的时候,额外的界面事件就会被触发。
例如,当用户在一个链接上单击就触发了click时间。单击这个链接一个新的页面就会被装载,所以这个特殊的click事件导致了界面事件unload的触发。
其他的界面事件还有resize,scroll和focus/blur。
鼠标事件(mouse events)
从Netscape 2开始,所有的浏览器都注意到了这样两个事实。当鼠标划入一个链接区域,那么mouseover事件就触发了。当他点击了这个链接那么click事件触发。不久之后mouseout也被添加了进去,他会在鼠标离开链接区域的时候触发。因此传统的鼠标事件三合会(Traditional Triad)成立了。第三代的浏览器对于鼠标事件进行了一些扩充。dbclick添加了进来,click事件分割成了mousedown和mouseup:用户按下和弹起鼠标按键。最后跟踪鼠
标轨迹的mousemove也变成了可能
在后面的章节会详细讲解鼠标事件(mouse event)。
表单事件(Form events)
表单能够识别submit和reset事件,submit在用户提交表单的时候触发reset在重置表单的时候触发。其中submit事件是所有表单验证代码的核心。当用户提交表单的时候,就遍历一遍表单检查是否有不正确的数据。如果发现了一个错误,停止提交表单并向用户发出一个警告。表单还能在某一项得到或者失去焦点的时候识别focus和blur事件,还有键盘事件和click事件。可以查看其他的兼容性列表。
一般情况下使用这些事件的时候要小心。当用户离开表单中的某一项的时候完全可以用onblur来验证数据,但是通常这都很烦人。用户在忙着填表单的时候不想看见任何弹出来的提示。
W3C事件(W3C events)
在W3C的DOM 2 事件规范中 还定义了一些突发事件(Mutation events)。这些事件在文档的DOM结构发生变化的时候触发。最常见的一个就是DOMSubtreeModified事件,它会在DOM发生变化的时候触发。Mozilla将这个事件设置为subtreemodified。Mozilla也不支持其他的我们没有提到的w3c事件。
微软事件(Microsoft events)
微软创造了一大堆事件。有一些是非常有趣的。当用户在任何时候单击鼠标右键的时候就会触发comtextmenu事件。这非常有用以致滥用。Mozilla也支持这个事件。
当导入XML文件的时候,readystatechange事件就像一些load事件一样提供服务。当XML文档的readyState变成4的时候,文档就加载完毕了。(不要问我什么是readyState,他管用而且够用)
让人惊奇的是在unload事件发生之前还有beforeunload事件。他设计的目的是用来取消关闭页面,但是确没人在乎。
最后微软还发明了mouseenter和mouseleave事件,这两个几乎和mouseover合mouseout事件一样。在鼠标事件一章查看。
当然以上事件只被IE支持。
Mozilla事件(Mozilla events)
Mozilla,当然也有一大堆自己的事件。我还没有仔细的研究。事件处理程序
所有的事件无论何时触发都会被浏览器检测到。浏览器通常也会执行默认的程序,就像当用户点击一个链接的时候。但是有时候什么也不会发生。事件处理程序的重点在于你可以让其他事情发生。你可以在事件发生的时候让浏览器执行你的脚本。如果你这样写了那么无论何时只要事件发生那么你的脚本就会执行。如果这些脚本在符合逻辑的基础上能非常的有用,那么你的用户也会非常的愉快。
为了确保你的脚本在事件触发的时候能够执行,你需要对HTML元素的确定的动作进行事件注册,就像下面这样:
这样脚本里的alert('I\'ve been clicked!')就会在click事件发生的时候执行。这就注册了一个事件处理程序。<br>
继续
如果你要继续学习,那么请看下一章。

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

Enjin JavaScript yang berbeza mempunyai kesan yang berbeza apabila menguraikan dan melaksanakan kod JavaScript, kerana prinsip pelaksanaan dan strategi pengoptimuman setiap enjin berbeza. 1. Analisis leksikal: Menukar kod sumber ke dalam unit leksikal. 2. Analisis Tatabahasa: Menjana pokok sintaks abstrak. 3. Pengoptimuman dan Penyusunan: Menjana kod mesin melalui pengkompil JIT. 4. Jalankan: Jalankan kod mesin. Enjin V8 mengoptimumkan melalui kompilasi segera dan kelas tersembunyi, Spidermonkey menggunakan sistem kesimpulan jenis, menghasilkan prestasi prestasi yang berbeza pada kod yang sama.

Aplikasi JavaScript di dunia nyata termasuk pengaturcaraan sisi pelayan, pembangunan aplikasi mudah alih dan Internet of Things Control: 1. Pengaturcaraan sisi pelayan direalisasikan melalui node.js, sesuai untuk pemprosesan permintaan serentak yang tinggi. 2. Pembangunan aplikasi mudah alih dijalankan melalui reaktnatif dan menyokong penggunaan silang platform. 3. Digunakan untuk kawalan peranti IoT melalui Perpustakaan Johnny-Five, sesuai untuk interaksi perkakasan.

Saya membina aplikasi SaaS multi-penyewa berfungsi (aplikasi edTech) dengan alat teknologi harian anda dan anda boleh melakukan perkara yang sama. Pertama, apakah aplikasi SaaS multi-penyewa? Aplikasi SaaS Multi-penyewa membolehkan anda melayani beberapa pelanggan dari Sing


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

MinGW - GNU Minimalis untuk Windows
Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.