Rumah > Artikel > hujung hadapan web > Proses pengendalian acara javascript dibahagikan kepada beberapa langkah
Proses pemprosesan acara JavaScript dibahagikan kepada tiga langkah: 1. Acara berlaku 2. Mulakan pengendali acara; Antaranya, untuk membolehkan pengendali acara dimulakan, acara yang sepadan mesti dipanggil melalui objek yang ditentukan, dan kemudian pengendali acara dipanggil melalui acara.
Persekitaran pengendalian tutorial ini: sistem Windows 7, versi JavaScript 1.8.5, komputer Dell G3.
JavaScript ialah bahasa berasaskan objek dan salah satu ciri paling asasnya adalah dipacu peristiwa. Ia boleh memudahkan semua operasi dalam persekitaran antara muka grafik. Tindakan melalui tetikus atau kekunci pintas dipanggil peristiwa. Satu siri tindakan program yang dicetuskan oleh tetikus atau kekunci panas dipanggil pemacu peristiwa, dan program atau fungsi yang memproses peristiwa dipanggil pengendali peristiwa.
Pemprosesan acara ialah bahagian yang sangat penting dalam pengaturcaraan berasaskan objek. Ia boleh menjadikan struktur logik program lebih jelas dan menjadikan Program ini lebih fleksibel dan meningkatkan kecekapan pembangunan program.
Proses pemprosesan acara dibahagikan kepada tiga langkah:
①Sebuah peristiwa berlaku;
②Mulakan pengendali acara;
③Pengendali acara bertindak balas.
Antaranya, agar pengendali acara dimulakan, acara yang sepadan mesti dipanggil melalui objek yang ditentukan, dan kemudian pengendali acara dipanggil melalui acara. Pengendali acara boleh menjadi sebarang pernyataan JavaScript, tetapi secara amnya menggunakan fungsi tersuai khusus untuk mengendalikan acara.
Acara dan nama acara
Acara ialah tindakan halaman yang boleh dibalas melalui skrip. Peristiwa berlaku apabila pengguna menekan butang tetikus, menyerahkan borang, atau bahkan menggerakkan tetikus pada halaman. Pengendali acara ialah sekeping kod JavaScript yang sentiasa dikaitkan dengan bahagian tertentu halaman dan acara tertentu. Pengendali acara dipanggil apabila peristiwa yang dikaitkan dengan bahagian tertentu halaman berlaku.
Kebanyakan nama acara adalah deskriptif dan mudah difahami. Contohnya, click.submit.mousecover, dsb. Anda boleh meneka maknanya melalui nama. Tetapi terdapat juga beberapa peristiwa dengan nama yang sukar difahami, seperti kabur (secara literal bermaksud "kabur" dalam bahasa Inggeris), yang bermaksud medan atau borang telah hilang tumpuan. Secara amnya, prinsip penamaan pengendali acara ialah menambah awalan sebelum nama acara Contohnya, untuk acara klik, pengendali dinamakan onclick.
Acara biasa dalam JavaScript<.>
JavaScript 🎜>Acara tetikus dan papan kekunci | onclick | Acara ini dicetuskan apabila tetikus diklik | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ondblclick | Acara ini dicetuskan apabila tetikus diklik dua kali | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onmousedown | Acara ini dicetuskan apabila tetikus ditekan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onmouseup | Acara ini dicetuskan apabila tetikus ditekan dan kemudian dilepaskan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onmouscover | Apabila tetikus bergerak di atas julat objek Peristiwa ini dicetuskan apabila tetikus bergerak | Peristiwa ini tercetus apabila meninggalkan skop objek|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onkeypress | Acara ini dicetuskan apabila kekunci pada papan kekunci ditekan dan dilepaskan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onkeydown | Acara ini dicetuskan apabila kekunci pada papan kekunci ditekan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onkeyup | Apabila kekunci pada papan kekunci ditekan Acara ini dicetuskan apabila ditekan dan dilepaskan | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Halaman berkaitan acara | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Gambar dimuat turun oleh pengguna Acara ini dicetuskan apabila terganggu | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Ini acara dicetuskan apabila kandungan halaman semasa akan diubah | onerror | Acara ini dicetuskan apabila ralat berlaku | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
memuat | Acara ini dicetuskan apabila kandungan halaman selesai (iaitu, acara pemuatan halaman) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
onresize | Ini peristiwa dicetuskan apabila saiz tetingkap penyemak imbas ditukar | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
dibuka muat | Dicetuskan apabila halaman semasa akan ditukar Acara ini | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
事件 | 说明 | |
表单相关事件 | onblur | 当前元素失去焦点时触发此事件 |
onchange | 当前元素失去焦点并且元素的内容发生改变时触发此事件 | |
onfocus | 当某个元素获得焦点时触发此事件 | |
onreset | 当表单中RESET的属性被激活时触发此事件 | |
onsubmit | 一个表单被递交时触发此事件 | |
滚动字幕事件 | onbounce | 在Marquce内的内容移动至Marquce品示范围之外时触发此事件 |
onfinish | 当Marquce元素完成需婴显示的内容后触发此事件当Marquce元素开始显示内容时触发此事件 | |
onstart | Marquce元素开始显示内容时触发此事件 | |
编辑事件 | onbeforecopy | 当页面当前被选择内容将要复制到浏览者系统的剪贴板前触发此事件 |
onbeforecut | 当页面中的部分或全部内容被剪切到浏览者系统剪贴板时能发此事件 | |
onbeforeeditfocus | 当前元素将要进入编辑状态时触发此事件 | |
onbeforepaste | 当要将内容从浏览者的系统剪贴板中粘贴到页面上时触发此事件 | |
onbeforeupdate | 当浏览者粘贴系统剪贴板中的内容时通知目标对象 | |
oncontextmenu | 当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发此事件 | |
oncopy | 当页面当前的被选择内容被复制后触发此事件 | |
oncut | 当页面当前的被选择内容被剪切时触发此事件 | |
ondrag | 当某个对象被拖动时触发此事件(活动事件) | |
ondragend | 当鼠标拖动结束时触发此事件,即鼠标的按钮被释放时 | |
ondragente | 当对象被鼠标拖动进入其容器范围内时触发此事件 |
|
ondragleave | 当对象被鼠标拖动的对象离开其容器范围内时触发此事件 | |
ondragover | 当被拖动的对象在另一对象容器范围内拖动时触发此事件 | |
ondragstart | 当某对象将被拖动时触发此事件 |
|
ondrop | 在一个拖动过程中,释放鼠标键时触发此事件 | |
onlosecapture | 当元素失去鼠标移动所形成的选择焦点时触发此事件 | |
onpaste | 当内容被粘贴时触发此事件 | |
onselect | 当文本内容被选择时触发此事件 | |
onselectstart | 当文本内容的选择将开始发生时触发此事件 |
事件 | 说明 | |
数据绑定事件 | onafterupdate | 当数据完成由数据源到对象的传送时触发此事件 |
oncellchange | 当数据来源发生变化时触发此事件 | |
ondataavailable | 当数据接收完成时触发此事件 | |
ondatasetchanged | 数据在数据源发生变化时触发此事件 | |
ondatasetcomplete | 当数据源的全部有效数据读取完毕时触发此事件 | |
onerrorupdate | 当使用onbeforeupdate事件触发取消了数据传送时,代替afterupdate事件 | |
数据绑定事件 | onrowenter | 当前数据源的数据发生变化井且有新的有效数据时触发此事件 |
onrowexit | 当前数据源的数据将要发生变化时触发此事件 | |
onrowsdelete | 当前数据记录将被删除时触发此事件 | |
onrowsinserted | 当前数据源将要插入新数据记录时触发此事件 | |
外部事件 | onafterprint | 当文档被打印后触发此事件 |
onbeforeprint | 当文档即将打印时触发此事件 | |
onfilterchange | 当某个对象的滤镜效果发生变化时触发此事件 | |
onhelp | 当浏览者按下F1键或者单击浏览器的帮助菜单时触发此事件 | |
onpropertychange | 当对象的属性之一发生变化时触发此事件 | |
onreadystatechange | 当对象的初始化属性值发生变化时触发此事件 |
Panggilan pengendali acara
Apabila menggunakan pengendali acara untuk mengendalikan halaman, perkara yang paling penting ialah cara menggunakan acara objek untuk Tentukan pengendali acara.
Untuk memanggil pengendali acara dalam JavaScript, anda perlu mendapatkan rujukan kepada objek yang akan diproses dahulu, dan kemudian menetapkan fungsi pemprosesan untuk dilaksanakan ke acara yang sepadan.
Kod:
<input id="save" name="bt_save" type="button" value="保存" /> <script language="JavaScript" type="text/javascript"> var b_save=document.getElementById("save"); b_save.onclick=function(){ alert("单击了保存按钮"); } </script>
Ditugaskan dalam HTML Untuk acara pengendali, anda hanya perlu menambah acara yang sepadan dalam teg HTML dan nyatakan kod atau nama fungsi yang akan dilaksanakan.
<input name="bt_save" type="button" value="保存" onclick="clickFunction();"/> <script language="JavaScript" type="text/javascript"> function clickFunction(){ alert("单击了保存按钮"); } </script>
[Cadangan berkaitan: tutorial video javascript, Video pengaturcaraan]
Atas ialah kandungan terperinci Proses pengendalian acara javascript dibahagikan kepada beberapa langkah. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!