gpt4 book ai didi

Javascript 动态元素 ID

转载 作者:行者123 更新时间:2023-11-30 10:48:56 25 4
gpt4 key购买 nike

我试图通过我的函数传递一个元素并输出 id。

我的意思是:

<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 函数调用时,this 指针不再指向输入元素,而是指向 window目的。

你能做的是

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

或者更好的是:

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

在元素上:

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

关于Javascript 动态元素 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6644691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com