Подтвердить что ты не робот

Как передать элемент в обработчик события в javascript

Я создал элемент HTML <input>, используя Javascript. Теперь я хочу добавить обработчик события onblur к этому элементу динамически. Однако я не понимаю, как я могу передать созданный элемент в качестве аргумента функции. Здесь мой код:

element = document.createElement("input");
element.onblur = hello_function;

В приведенном выше коде вы видите, что элемент создан. Теперь я хочу передать этот элемент в hello_function. Как я могу это сделать?

function hello_function(element) {
    alert(element);
}
4b9b3361

Ответ 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);
}