Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以将同一文本框集中在其onBlur()事件上?_Javascript_Html - Fatal编程技术网

Javascript 是否可以将同一文本框集中在其onBlur()事件上?

Javascript 是否可以将同一文本框集中在其onBlur()事件上?,javascript,html,Javascript,Html,我有HTML: <input type="text" id="text1" onBlur="focusMe(this.id);" /> 我会直接通过控制。为什么传递ID只是为了再次从中获取控件 标记: <input type="text" id="text1" onBlur="focusMe(this);" /> 嗯,运行您的代码表明了这一点,而且可能有很好的理由 既然我在这里,我应该指出,您实际上可以传递对this而不是this.id的引用,这样可以省去一些麻烦:

我有HTML:

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

我会直接通过控制。为什么传递ID只是为了再次从中获取控件

标记:

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

嗯,运行您的代码表明了这一点,而且可能有很好的理由

既然我在这里,我应该指出,您实际上可以传递对this而不是this.id的引用,这样可以省去一些麻烦:

onBlur="focusMe(this)"

function focusMe(el) {
    el.focus();
}
但它无论如何都不起作用,所以这有点毫无意义。

有可能:

function focusMe(Id) {
    setTimeout(function() {document.getElementById(Id).focus();}, 0);
}
您的脚本无法工作,因为在焦点丢失之前调用了onBlur

两点意见:

您最好使用对输入的引用,而不是其id 为什么要这样做?!
@nickf-你看到问题的标题了吗?是的,我看到了,但是有代码已经编写好了,我们被问到它是否有效?运行它并找出答案,天哪!如果只有一个文本输入字段,那么强制将焦点放在该字段上可能是有意义的。
onBlur="focusMe(this)"

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