Menggunakan kaedah JQuery's one()
: one()
$("#myelement").one("click", function() { alert("This message appears only once!"); });
https://www.php.cn/link/55E71B4408E917B9C7BBBB0DF7D0B81AF4
Dalam JavaScript biasa, fungsi pengendali mana -mana boleh mengeluarkannya:
Baris
menghilangkan pengendali selepas penyerahan pertama. Ini berfungsi tanpa mengira nama atau jenis acara pengendali. Perhatikan bahawadocument.getElementById("myelement").addEventListener("click", handler); function handler(e) { e.target.removeEventListener(e.type, arguments.callee); alert("This message appears only once!"); }
dan awalan "on" (mis., "Onclick"). e.target.removeEventListener(e.type, arguments.callee);
arguments.callee
detachEvent
fungsi acara satu kali yang boleh diguna semula
Untuk mengelakkan berulang kali menulis kod penyingkiran, buat fungsi yang boleh diguna semula:
Penggunaan:
function oneTimeEvent(node, type, callback) { node.addEventListener(type, function(e) { e.target.removeEventListener(e.type, arguments.callee); callback(e); }); }
pilihan moden JavaScript
oneTimeEvent(document.getElementById("myelement"), "click", function(e) { alert("This message appears only once!"); });
once
Pendekatan yang paling moden dan boleh dibersihkan menggunakan pilihan dalam
once: true
addEventListener
Ini disokong oleh pelayar yang paling moden dan mengelakkan keperluan untuk penyingkiran manual.
document.getElementById("myelement").addEventListener("click", function() { console.log("This will only run once!"); }, { once: true });
Atas ialah kandungan terperinci Cara Membuat Acara Satu Masa di JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!