使用 Javascript 更改元素的 onfocus 处理程序?

2023-12-29

我有一个表单,其中的默认值描述了应该输入该字段的内容(替换标签)。当用户聚焦某个字段时,将调用此函数:

function clear_input(element)
{
    element.value = "";
    element.onfocus = null;
}

onfocus 设置为 null,这样如果用户在字段中放置了某些内容并决定更改它,他们的输入不会被删除(因此只会被删除一次)。现在,如果用户移动到下一个字段而不输入任何数据,则使用此函数(称为 onblur)恢复默认值:

function restore_default(element)
{
    if(element.value == '')
    {
        element.value = element.name.substring(0, 1).toUpperCase()
                          + element.name.substring(1, element.name.length);
    }
}

碰巧默认值是元素的名称,因此我没有添加 ID,而是操作了 name 属性。问题是,如果他们确实跳过该元素,那么 onfocus 事件将被clear_input 取消,但随后永远不会恢复。

I added

element.onfocus = "javascript:clear_input(this);";

在restore_default函数中但这不起作用。我该怎么做呢?


Use

element.onfocus = clear_input;

或(带参数)

element.onfocus = function () { 
    clear_input( param, param2 ); 
};

with

function clear_input () {
    this.value = "";
    this.onfocus = null;
}

“javascript:”位是不必要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Javascript 更改元素的 onfocus 处理程序? 的相关文章

随机推荐