是否有可能将相同的文本框集中在onBlur()事件上?

时间:2010-01-05 13:24:27

标签: javascript html

我有HTML:

<input type="text" id="text1" onBlur="focusMe(this.id);" />

和javascript函数:

function focusMe(Id)
{
document.getElementById(Id).focus();
}

3 个答案:

答案 0 :(得分:7)

有可能:

function focusMe(Id) {
    setTimeout(function() {document.getElementById(Id).focus();}, 0);
}

您的脚本无效,因为onBlur在失去焦点之前只是被调用。

两个评论:

  • 你最好使用对输入的引用而不是id
  • 为什么这样做?!

答案 1 :(得分:0)

我会直接传递控件。为什么要传递ID才能再次从中获取控制权?

标记:

<input type="text" id="text1" onBlur="focusMe(this);" />

使用Javascript:

function focusMe(elem)
{
  elem.focus();
}

答案 2 :(得分:0)

好吧,运行代码会显示it doesn't work,可能还有很好的理由。

由于我在这里,我应该指出你实际上可以将引用传递给this而不是this.id并省去一些麻烦:

onBlur="focusMe(this)"

function focusMe(el) {
    el.focus();
}

但无论如何它都不起作用,所以这有点无聊。