gpt4 book ai didi

javascript 作用域,为什么 $(this) 等于 [window]?

转载 作者:行者123 更新时间:2023-12-02 06:38:20 24 4
gpt4 key购买 nike

我有一个更新 html 并创建一些链接的 ajax 函数(不确定是否相关):

<a href="#" class="clickme" onclick="column_click()" title="my title">click me</a>

我不确定为什么,但是点击时,如果我提醒 $(this).attr('title') 它显示为 undefined,如果我提醒$(this) 它显示 [window]

     function column_click(){
value = $(this);
console.log(value);

thetitle= $(this).attr('title');
console.log(thetitle);
}

有人知道为什么会这样吗?

最佳答案

这应该可以解决问题。

onclick="column_click.call(this);"

原因是您的“点击处理程序”实际上只是一个函数。默认是让 this 引用 window 对象。

在我上面的示例中,我们说“执行 column_click 并确保 this 引用 a 元素。

关于javascript 作用域,为什么 $(this) 等于 [window]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13373365/

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