gpt4 book ai didi

javascript - Jquery 总是引用起始 DOM

转载 作者:行者123 更新时间:2023-11-30 13:01:54 25 4
gpt4 key购买 nike

我正在尝试了解由事件点击触发的函数在第一次执行后的执行方式。

我认为更改我的函数的 id 将不再执行。

似乎 jquery 代码继续引用原始 DOM。为什么?第一次执行后如何升级 DOM 对象?

$(document).ready(function () {
$("#select1").on('click',function(){
$(this).children().each(function () {
globalObj[this.value] = this.innerHTML;
});
$(this).attr("id","select2");
});
});

最佳答案

I thought that changing the id of my the function would no longer be performed.

不,因为一旦事件绑定(bind)到一个元素,它就被设置为那个 元素,您更改哪个属性都没有关系。如果你想让它只执行一个,你可以使用 .one() 或者,要停止函数的绑定(bind),您可以使用 .off() .

Seems that jquery code continue to refer to the original DOM

是的,因为跨浏览器的 jQuery 会使用 Element.addEventListenerElement.attachEvent(取决于浏览器)分配点击事件。如果你想删除你必须使用前面列出的解决方案之一的事件,它使用 removeEventListenerdetachEvent

关于javascript - Jquery 总是引用起始 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17132806/

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