В качестве альтернативы вы можете рассмотреть возможность переключения с обработчиков событий на прослушиватели событий (которые обычно считаются лучшими по нескольким причинам, включая универсальность.)
Это Учебник хорошо объясняет разницу.
Надуманный пример ниже показывает, как работают слушатели событий.
Что касается параметров, первый параметр слушателя всегда является событием , а свойство события target
дает нам доступ к DOM (через элемент, в котором произошло событие). Итак, пока желаемое значение существует в DOM, нет необходимости предоставлять это значение как явное аргумент.
// Identifies elements on the page
const
item = document.getElementById("item"),
list = document.getElementById("list");
// Calls addItem when the `item` element is clicked
item.addEventListener("click", addItem);
function addItem(event){
const
localReferenceToItem = event.target,
text = localReferenceToItem.value;
if(text === ""){ return; }
localReferenceToItem.value = "";
console.log(text);
const
newTextNode = document.createTextNode(text),
newListItem = document.createElement("li");
newListItem.appendChild(newTextNode);
list.appendChild(newListItem);
}
<input id="item"/>
<ul id="list"></ul>