文本框失去焦点

6

当文本框获得焦点时,我希望它失去焦点。

我尝试为外部div设置焦点,在IE中运行良好,但在mozilla中不起作用。

我该怎么做?

这是我的当前代码:

<div id="outer"> <input type = "textbox" /></div> Onfocus: document.getElementById("outer").focus()

你这边有任何代码吗? - Felix Kling
<div id="outer"> <input type = "textbox" /></div> Onfoucs:document.getElementById("outer").focus() - Santhosh
请将此内容放入您的问题中。 - Felix Kling
所有答案都不会从文本框中移出。 - Santhosh
5个回答

6
在HTML中:
<input type="text" onfocus="this.blur();" />

在JS中:

document.getElementById("input1").onfocus = function () { this.blur(); }

部分元素如果不可编辑,就不能接受焦点。


6

我想知道在这种情况下使用文本框的目的是什么,如果用户永远不能在里面写任何东西。只需添加disabled="disabled"属性或readonly="readonly"(如果您想发布该值)。


3

我已经尝试了所有答案,但在所有浏览器中都没有起作用。然后我将它们全部组合到一起。

  1. TextBox.readonly = true;

OnFocus:

  1. var curText = TextBox.value; TextBox.value = ""; TextBox.value = curText;

  2. TextBox.blur();

  3. TextBox_Parent.focus()

这样在所有浏览器中都可以正常工作。


2
那有什么意义呢?JS代码可能是这样的(未经测试):
$('#textbox').focusin(function() {
   $(this).focusout();
});

-2
/*for textarea*/
$(document).ready(function() {
$('textarea[type="text"]').addClass("idleField");
$('textarea[type="text"]').focus(function() {
    $(this).removeClass("idleField").addClass("focusField");
    if (this.value == this.defaultValue){
        this.value = '';
    }
    if(this.value != this.defaultValue){
        this.select();
    }
});
$('textarea[type="text"]').blur(function() {
    $(this).removeClass("focusField").addClass("idleField");
    if ($.trim(this.value == '')){
        this.value = (this.defaultValue ? this.defaultValue : '');
    }
});

});

这是我在表单上使用的。


这段代码包含了JQuery。问题是关于原生JavaScript的。 - E. van der Spoel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接