如何将函数附加到表单元素

时间:2016-03-08 15:51:51

标签: javascript html css

我想将一个函数附加到javascript文件中的输入元素但它不能正常工作请建议正确的语法或任何其他解决方案我也不想使用内联html方法,如{{1 }}。这是fiddle



<input type="text" id="name" onfocus="hello()">
&#13;
document.getElementById("name").onfocus = hello();
function hello () {
    alert("hello");
}
&#13;
&#13;
&#13;

我希望在输入元素获得焦点时执行该函数,但此处函数正在执行,页面加载完成。我想要纯粹的javascript没有jquery。

4 个答案:

答案 0 :(得分:3)

改为附加事件监听器

&#13;
&#13;
  document.getElementById("name").addEventListener("focus", function(){
   alert('Hello')
});
&#13;
<input type="text" id="name">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

document.getElementById("name").addEventListener("focus", function(){alert('test')}, false);

答案 2 :(得分:0)

首先,函数hello需要在之前定义,然后将其定义为用于事件的函数。

其次,当您将其设置为onfocus功能时,需要从函数名称中删除括号。您将提供对该函数的引用,稍后将使用,而不是在那里执行它。

因此,这应该有效:

function hello () { alert("hello"); } document.getElementById("name").onfocus = hello;

答案 3 :(得分:-1)

function hello () {
    alert("hello");
}
document.getElementById("name").onfocus = hello;