К примеру есть два элемента <input type="range">
, которые вызывают одну и туже функцию (с помощью oninput=""). В зависимости от того, какой именно input вызвал функцию, будет выполняться определенный код.
Подскажите, как узнать какой именно input вызвал функцию (и не обязательно input, просто взял как пример). Может есть какие то методы или что то подобное?
Варианта 2:
addEventListner
, тогда внутри слушателя this
будет указывать на элемент, к которому привязан слушатель. Так же в этом режиме слушателю передается аргумент "контекст события", у которого есть поле target
, указывающий на элемент, который инициировал событие.
btn1.addEventListener('click', handler)
btn2.addEventListener('click', handler)
function handler(e) {
console.log("this =", this)
console.log("e.target =", e.target)
}
<button id="btn1">btn 1</button>
<button id="btn2">btn 2</button>
this
:function handler() {
console.log("this =", this)
}
<button onclick="handler.apply(this)">btn 1</button>
<button onclick="handler.apply(this)">btn 2</button>
можно передавать параметр в функцию обработки события
function someFunction(id, value) {
console.log(id, value);
}
<input type="range" oninput="someFunction(1, this.value)" />
<input type="range" oninput="someFunction(2, this.value)" />
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я хочу отправить сообщение от сообщества вкКак составить на js пост запрос аналогичный ссылке
Попробовал передать умный указатель std::unique_ptr через сигнал/слот и получил ошибку из за удаленного конструктора копирования (unique_ptr(const unique_ptr&)...
Потребовалось написать пару простеньких скриптов на c++До этого когда-то писал в Visual Studio, сейчас сижу на linux(fedora 29), поэтому перешёл на gcc