gpt4 book ai didi

javascript - $(this).attr({类 : "activeTab"}); is not working because this is undefined

转载 作者:太空宇宙 更新时间:2023-11-03 21:32:04 25 4
gpt4 key购买 nike

这是我的JS代码,我遇到的问题就是标题中的问题。似乎 $(this) 返回未定义。:

function load() {
$(".inactiveTab").attr("onclick", "clickInactiveTab()");
}

function clickInactiveTab() {
$(this).attr("class", "activeTab");
}

html 如下:

<div class="inactiveTab">Tab 1</div>
<div class="inactiveTab">Tab 2</div>

最佳答案

这不是用 jQuery 设置事件处理程序的方式:

function load() {
$(".inactiveTab").click(clickInactiveTab);
}

您的代码使得处理程序代码 ( "clickInactiveTab()" ) 将被解释为函数体。因为代码在没有任何显式上下文的情况下调用了您的实际处理函数,所以 this 的值要么是 undefinedwindow (取决于您是否处于“严格”模式)。

在我看来,更好的做法是将处理程序设置为来自 <body> 的委托(delegate)处理程序。 :

$("body").on("click", ".inactiveTab", clickInactiveTab);

关于javascript - $(this).attr({类 : "activeTab"}); is not working because this is undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28798045/

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