Мне было интересно, можем ли мы создать пользовательскую функцию JavaScript для присоединения событий к html элементам.
Поэтому я пришел к решению, как показано ниже:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<form>
<input name="input" type="text">
<input >
</form>
<script>
function callback(e){
//code to be executed when event fired
console.log(e.target.name)
}
function attachEventToElement(element,event,callback){
document.querySelector(`${element}`).addEventListener(`${event}`,callback)
}
attachEventToElement('form','input',callback)
</script>
</body>
</html>
Приведенный выше код работает нормально, если в функцию обратного вызова не переданы аргументы, но не работает, если мы передаем ей какие-либо аргументы.
Может кто-нибудь сообщить мне, как мы можем выполнить функцию обратного вызова с параметрами?
Например:
function callback(e,name){
//code to be executed when event fired
console.log(e.target.name);
console.log(name);
}
attachEventToElement('form','input',callback(event,'Daniel'))
вывод из вышеуказанного кода после начала ввода в поле ввода должен быть:
input (имя целевого элемента)
Daniel (name передается в качестве параметра функции обратного вызова)
Возможно ли это сделать?