Если вы хотите, чтобы обработчик событий запускался только один раз для каждого элемента, вам нужно удалить обработчик событий при первом запуске:
var input = document.querySelector("#inputId");
input.addEventListener('input', yourFunc);
function yourFunc(e) {
alert("changed");
this.removeEventListener('input', yourFunc);
}
Обратите внимание на использование addEventListener()
и removeEventListener()
вместо устаревшего oninput
свойства.
Поскольку вы отметили jQuery в вопросе, вы также можете добиться этого таким же образом, используя one()
:
$('#inputId').one('input', function() {
alert('changed');
});