问题标签 [this]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 处理“this”变化的最佳方式
我经常遇到使用 jQuery 编写 javascript 的一个问题是,当对象的方法涉及添加事件侦听器时,“this”从对对象的引用变为对触发事件的 DOM 元素的引用。
目前,如果我想从事件处理程序中引用对象,我会执行以下操作:
有没有更好的方法来处理事件总是想重新分配“this”的事实
apache-flex - as3 类中的“this”引用到底是什么?
我已经在互联网上上下搜索过,即使是对“this”参考的最轻微提及,也没有发现任何东西!!!似乎根本没有人谈论“这个”。我是一位经验丰富的 c++ 程序员,所以我非常熟悉“this”指针/引用的概念。我的问题是 as3 类中的“this”引用到底是什么?尝试编辑它会引发编译器错误。将它分配给另一个类实例似乎复制了“this”“指向”的内容。我所有试图识别它的尝试都表明它与普通的变量类实例无法区分。我的最终目标是将一个类实例指向一个不同的实例,我一直在尝试确定是否可以使用“this”来简化流程。谢谢!
javascript - 使用 JavaScript 原型对象时事件方法中的“this”关键字
我正在尝试在事件处理程序中访问 JavaScript 中原型类的成员变量——我通常会使用“this”关键字(或在事件处理程序的情况下使用“that”[this 的副本]) . 不用说,我遇到了一些麻烦。
举个例子,这个 HTML 片段:
这个 JavaScript 代码:
实例化 MyClass 对象并调用 NormalMethod 的工作方式与我期望的完全一样(警告说“值”),但是单击链接会导致未定义的值,因为“this”关键字现在引用事件目标(anchor () HTML 元素) .
我是 JavaScript 原型风格的新手,但在过去,使用闭包,我只是在构造函数中复制了“this”:
然后我可以通过“那个”对象访问事件方法中的成员变量。这似乎不适用于原型代码。还有另一种方法可以实现这一目标吗?
谢谢。
jquery - 如何使以下 jQuery 代码段工作?
如果模糊或按“Enter”,我想func
运行。但是上面的代码只有在模糊时才有效,在按“Enter”的情况下,它会报告“Permission denied to access parentNode”。
虽然我知道它与this
不同上下文中的关键字有关,但我不知道如何解决它。
jquery - Jquery AJAX 调用:成功后 $(this) 不起作用
我想知道为什么 $(this) 在 jQuery ajax 调用之后不起作用。
我的代码是这样的。
为什么在 ajax 调用后 $(this) 在这种情况下不起作用?如果我在 ajax 之前使用它会起作用,但之后没有效果。
jquery - jQuery - IE6,7 not suporting $(this)?
Hey, I have a code, that works in all modern browsers, but not in IE 6,7.
It does the background-position change, but not the slideUp or slideDown, any idea why?
I thought it's because of the $(this), but I'm not sure, and if yes, is there a way to make it work?
Edit: Seems the problem might be in the 'next()' function.
php - PHP 中的变量 $this 是什么意思?
我一直在 PHP 中看到这个变量$this
,但我不知道它的用途。我从来没有亲自使用过它。
有人能告诉我这个变量$this
在 PHP 中是如何工作的吗?
jquery - Jquery $this 或 each() 一次指定一个链接
我发现 jQuery 很难学习,因为似乎有很多方法可以编写相同的东西。
作为练习,我想将锚标记中的文本填充到链接 href 属性中。
例如
成为
我的第一次尝试是
这显然不起作用,因为我需要指定为每个链接执行此操作。
我应该使用 foreach 循环吗?.each() 函数?还是 $this 表示法?他们都会工作吗?
javascript - JS Object this.method() 通过 jQuery 中断
我确信有一个简单的答案,但现在是星期五下午,我累了。:(
不知道如何解释它,所以我将继续发布示例代码......
这是一个简单的对象:
这里正在使用它:
一切正常,除了最后一行。当 jQuery 调用 doSomething 方法时,它会覆盖 'this' 并阻止它工作。
尝试使用Stuff
也不起作用。
那么如何以允许 jQuery 调用对象的方式引用对象自身的属性,并且还允许对象与调用 jQuery 对象一起工作呢?
即我希望能够做这样的事情:
(其中<CurrentObject>
和<CallerElement>
替换为适当的名称。)
jquery - 使用类继承时,在 jQuery 事件处理程序等对象中获取原始 this
我知道 jQuery 不是为使用类模型而设计的,但我确实可以扩展一个基类,因为它完全符合我的需求。
我开始做以下事情:
一切正常,我可以通过this
. 直到我尝试添加诸如 jQuery 事件处理程序(等)之类的东西,它将事件目标应用于this
.
因此,使用以下内容:
我发现了一些适用于 jQuery 的类创建和继承的东西(例如John Resig 的和DUI),但那些会/确实遇到同样的问题。
那么在所有这些之后,在这些情况下我如何获得原件this
?
更新:事件处理程序(等)可以在jQuery.myBase
插件本身或插件本身中。