不使用javascript onblur函数

不使用javascript onblur函数,javascript,html,onblur,appendchild,Javascript,Html,Onblur,Appendchild,我正在处理的javascipt函数有一些问题 以下是我试图对函数所做的操作: 我有一个具有给定值的table元素,当点击它时,它调用我的javasript函数,该函数用于将元素的值附加到一个输入元素,因此用户可以更改该值。我希望输入元素调用带有onblur()事件的函数,以便修改后的值可以再次显示在table元素上 我的问题是元素不尊重onblur()事件。该函数在创建输入元素后立即执行,不等待成为onblur()事件 以下是两个功能的代码: var elemento = true; func

我正在处理的javascipt函数有一些问题

以下是我试图对函数所做的操作:

我有一个具有给定值的table元素,当点击它时,它调用我的javasript函数,该函数用于将元素的值附加到一个输入元素,因此用户可以更改该值。我希望输入元素调用带有
onblur()
事件的函数,以便修改后的值可以再次显示在table元素上

我的问题是元素不尊重
onblur()
事件。该函数在创建输入元素后立即执行,不等待成为
onblur()
事件

以下是两个功能的代码:

var elemento = true;

function prueba(clave,cantidad) {
    if(elemento){
        var percent = document.getElementById('porciento' + clave);
        percent.innerHTML = "";
        var input = document.createElement("input");
        input.setAttribute('type','text');
        input.setAttribute('size','5');
        input.setAttribute('value',cantidad);
        input.setAttribute('id','child'+clave);
        percent.appendChild(input);
        input.focus();
        child = document.getElementById("child" + clave);
        child.onblur = blurPrueba();
    }
}
function blurPrueba() {
    if(elemento)
        alert("Hello");
}
将显示警报,但不显示onblur()


有人知道为什么会这样吗

您的问题是:
child.onblur=blurPrueba()
,您可以立即执行
blurPrueba
。应该是参考:
child.onblur=blurPrueba

更改行时,您会告诉浏览器:“在子元素的模糊上,激活
blurPrueba
功能”

如果使用
blurPrueba()
激活函数并将其结果分配给模糊事件,
blurPrueba()
不会返回任何内容。所以你的台词实际上是:“
onblur=undefined


总之,如果您希望浏览器处理事件(此处
blur
),则需要提供对处理程序函数的引用(此处
blurPrueba
)。

您的问题是:
child.onblur=blurPrueba()
,您可以立即执行
blurPrueba
。应该是参考:
child.onblur=blurPrueba

更改行时,您会告诉浏览器:“在子元素的模糊上,激活
blurPrueba
功能”

如果使用
blurPrueba()
激活函数并将其结果分配给模糊事件,
blurPrueba()
不会返回任何内容。所以你的台词实际上是:“
onblur=undefined

总之,如果希望浏览器处理事件(此处
blur
),则需要提供对处理函数的引用(此处
blurPrueba
)。

<

child.onblur=blurPrueba()

child.onblur=函数(){blurPrueba()}

变化

child.onblur=blurPrueba()


child.onblur=函数(){blurPrueba()}

制作一把小提琴,这样我们就可以在行动中看到它嗨,我对这个有点陌生。如何创建小提琴???@maugurera:。这是一个测试HTML/JavaScript的网站。创建一个提琴,这样我们就可以在actionHi中看到它。我对这个有点陌生。如何创建小提琴???@maugurera:。这是一个测试HTML/JavaScript.Hi@kooiInc的网站,我不确定我是否理解你的意思。我应该把child.onblur=blurPrueba()再次放在blurPrueba()函数上?只有一件事不是很清楚。如果我需要向函数发送一些参数,会发生什么?它是一个事件处理程序。你不调用它,浏览器会调用。@Maugurera:那是另一个问题。您可以使用闭包和匿名函数将一些参数传递给处理函数。请看一个非常基本的例子。嗨@kooiInc,我不确定我是否理解你。我应该把child.onblur=blurPrueba()再次放在blurPrueba()函数上?只有一件事不是很清楚。如果我需要向函数发送一些参数,会发生什么?它是一个事件处理程序。你不调用它,浏览器会调用。@Maugurera:那是另一个问题。您可以使用闭包和匿名函数将一些参数传递给处理函数。有关一个非常基本的示例,请参见。