<p>
<p>
Atribut klik dalam talian lwn. Pendengar Acara
<p>Ramai pembangun lebih suka menggunakan pengendali acara sebaris untuk kesederhanaan dan kemudahan penyahpepijatan, seperti yang dilihat dalam perkara berikut kod:
<p>
Salin selepas log masuk
<p>Walau bagaimanapun, biasanya disyorkan untuk menggunakan pendengar acara sebaliknya.<p>
Faedah Pendengar Acara<p>Kelebihan utama pendengar acara terletak pada pemisahan persembahan dan logik. Pengendali acara sebaris terus membenamkan kod dalam HTML, yang boleh menjadikan pangkalan kod tidak perlu bersepah dan sukar untuk diselenggara.<p>Isu yang lebih ketara timbul dengan penilaian pengendali acara sebaris. Pengendali acara ini mengakses sifat elemen nenek moyang mereka dan elemen itu sendiri, walaupun akses sedemikian tidak boleh dilakukan berdasarkan peraturan skop.<p>Sebagai contoh, pertimbangkan HTML berikut:
<form>
<input name="foo" />
<button type="button" onclick="console.log(foo); console.log(window.foo);">
Click me
</button>
<div onclick="console.log(foo);">Click me as well!</div>
</form>
Salin selepas log masuk
<p>Apabila anda mengklik sama ada butang atau
, nilai medan input foo direkodkan, walaupun fakta foo sepatutnya berada di luar skop untuk acara ini pengendali. Tingkah laku anomali ini boleh membawa kepada ralat dan hasil yang tidak dijangka.
<p>Dengan menggunakan pendengar acara, seperti:
document.getElementById('element').onclick = doSomething;
Salin selepas log masuk
<p>anda mentakrifkan fungsi pengendali acara dan skopnya secara eksplisit, menghalang anomali penilaian ini dan memastikan kelakuan kod yang lebih boleh diramal.
Atas ialah kandungan terperinci Inline onclick Atribut atau Pendengar Acara: Mana Yang Lebih Baik untuk Mengendalikan Acara?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!