[英]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.