Как передать элемент в обработчик события в javascript
Я создал элемент HTML <input>
, используя Javascript. Теперь я хочу добавить обработчик события onblur
к этому элементу динамически. Однако я не понимаю, как я могу передать созданный элемент в качестве аргумента функции. Здесь мой код:
element = document.createElement("input");
element.onblur = hello_function;
В приведенном выше коде вы видите, что элемент создан. Теперь я хочу передать этот элемент в hello_function
. Как я могу это сделать?
function hello_function(element) {
alert(element);
}
Ответы
Ответ 1
Для этого вы можете обернуть вызов hello_function
в анонимную оболочку функции и предоставить аргумент this
:
element = document.createElement("input");
element.addEventListener('blur', function() {
hello_function(this);
});
document.body.appendChild(element);
function hello_function(element) {
console.log(element);
}
Ответ 2
попробуйте это. передавая другую переменную в функцию,
var something="hello";
var element = document.createElement("input");
element.addEventListener('blur' , function ()
{
hello_function(something);
})
document.body.appendChild(element)
function hello_function (element){
alert(element);
}
Ответ 3
Я предлагаю использовать addEventListener, также я думаю, вам нужно добавить созданный элемент в документ, примерно так:
var elem = document.createElement("input");
if (elem) {
elem.addEventListener('blur', hello_function, false);
}
document.body.append(elem);
function hello_function(element) {
alert(element);
}