繁体   English   中英

Javascript 动态元素 ID

[英]Javascript dynamic element Id

我试图通过我的 function 和 output 传递一个元素。

这就是我的意思:

<input id='password' style="display:inline-block" type="password" name='Password' onKeyDown="setTimeout('validate(this)', 10)" />

和 javascript:

var validate = function(element)
{
    alert(element.id);        
}

这是执行以下操作的正确方法吗? 当它发出警报时,我得到的只是未定义的。 谢谢你。

当从setTimeout function 调用时, this指针不再指向输入元素,而是指向window object。

你能做的是

onKeyDown="var self=this;setTimeout(function(){validate(self);}, 10)"

或者更好:

var validateFn = function(element) {
    return function(){
        alert(element.id);
    };
}

在元素上:

onKeyDown="setTimeout(validateFn(this), 10)"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM