Can someone point me towards a solution for the following? I\'m trying to find a JS equivalent for this jQuery code:
var formSelector = \'my selector here\';
In most browsers you can now pass in once: true in an options object:
document.getElementById('btn').addEventListener('click', () => {
console.log('Hello and goodbye');
}, {
once: true,
});
In the eventlistener callback, just destroy the event listener :) Here's a helper function:
function oneTimeEvent(element, eventType, callback) {
element.addEventListener(eventType, function(e) {
e.target.removeEventListener(e.type, arguments.callee);
return callback(e);
});
}
var btn = document.querySelector('button');
oneTimeEvent(btn, 'click', function () {
alert('♫ You clicked me once, but I won\'t let you click me twice, yeah!');
});