this 相关问题

在许多面向对象的编程语言中引用当前类实例或对象的关键字。




java匿名类和同步和“ this”

我有一些在这样的匿名类内创建“匿名方法”的方法:

回答 2 投票 0


在d

d多线程模型删除隐式内存共享,更喜欢消息传递和不可变的数据。但是,编译器在接收

回答 1 投票 0



jQuery 单击以检查它是否具有某个类的 div,然后更改不同类的值

我正在编写的代码适用于一个应用程序,您可以在其中选择一个图标,然后显示 CSS 行,以便您可以轻松地复制粘贴它并将其用于另一个项目。我遇到了麻烦...

回答 3 投票 0

获取图像src,然后将其用于div背景javascript

<div id="slides"></div> <div id="slidermenu"> <img class="slidermenuimage" src="red.png" onclick="showslide()"/><br> <img class="slidermenuimage" src="orange.png" onclick="showslide()"/><br> <img class="slidermenuimage" src="yellow.png" onclick="showslide()"/><br> </div> <script> function showslide() { y = document.getElementById("slides"); y.style.display = "block"; z = this.src; y.backgroundImage = 'url('+z+')'; } </script> 当有人单击其中一张图像时,我希望该图像显示为 div“幻灯片”的背景图像,并且不确定出了什么问题。也许我没有正确使用“这个”。 不要使用它,而是将事件传递到您的函数中。然后使用 event.target 您还需要使用 y.style.backgroundImage 您遗漏了 .style 默认情况下幻灯片 div 的高度为 0px,因此您需要设置一个高度才能看到背景图片。 请参阅代码片段中我的编辑注释以进行特定编辑。 // EDIT add event as a parameter // function showslide() { function showslide(event) { y = document.getElementById("slides"); y.style.display = "block"; // EDIT Use event.target instead of this // z = this.src; z = event.target.src; // EDIT You need .style // y.backgroundImage = 'url('+z+')'; y.style.backgroundImage = 'url('+z+')'; } /* EDIT slides needs a height so you can see the background image */ #slides { height: 100px; } /* EDIT For the demo */ .slidermenuimage { margin: 1rem; width: 64px; } <div id="slides"></div> <div id="slidermenu"> <img class="slidermenuimage" src="https://placebear.com/400/400.jpg" onclick="showslide(event)"/><br> <img class="slidermenuimage" src="https://placebear.com/401/400.jpg" onclick="showslide(event)"/><br> <img class="slidermenuimage" src="https://placebear.com/402/400.jpg" onclick="showslide(event)"/><br> </div>

回答 1 投票 0

如何使用 jquery $(this) 和 $(document).keyup

我有这个代码: $(文档).keyup( 函数(e) { console.log($(this).attr('id')); }); 当输入带有 id 的 HTML 输入标记时,console.log 中的输出为: 不明确的 那么如何使用 $(th...

回答 1 投票 0

为什么 `this` 是从方法内调用的内部函数内的全局对象?

好吧,所以我以为我理解了这一点(没有双关语的意思),但显然不是。 var 构造函数 = 函数 () { var 内部函数 = 函数 () { 返回这个 === 窗口; }; 这个。

回答 4 投票 0

在`foo.bar.quux()`这样的方法调用中,关键字`this`引用`foo.bar`。如何引用`foo`?

String.prototype.foo = {}; String.prototype.foo.bar = function() { //如何引用“祖父母”字符串? console.log(this.parent.parent); //显然,不存在 } ...

回答 2 投票 0

为什么要编写一个非严格模式 IIFE 来调用传递给它的严格模式函数表达式?

CodeMirror.net 使用此构造(我稍微简化了)来引入其 JavaScript 编辑器的代码: (函数(模){ this.CodeMirror = mod(); })(功能 () { “使用严格”...

回答 2 投票 0

jsDoc 定义隐式分配的构造函数属性(不使用 `this` 设置)

在VS Code中使用jsDoc,如何定义构造函数的属性,其属性不是直接通过this.property = value语法设置,而是通过Object.assign(...

回答 1 投票 0

JavaScript - 对象函数

我有一个 JavaScript 对象,其定义如下: 常量测试 = { myFirstFunction: () => { console.log('MyFirstFunction 被调用'); this.mySecondFunction('数据'); },

回答 4 投票 0

“此”变成“窗口”JavaScript

我正在尝试开发一个小游戏,但遇到以下问题:我有一个伪类“Cannon”,每个Cannon都有一个存储它应该守卫的区域的数组和一个存储“入侵...

回答 2 投票 0

如何使用调用函数的元素的“this”引用?

例如,我想要一个被许多元素使用的函数来获取调用元素的属性。 函数示例(){ var name = //调用元素的名称 "$(this).attr('name')" } ...

回答 8 投票 0

JavaScript 中的函数调用

我定义了一个JavaScript对象,其中有两个函数test1和test2。 当我使用 this.test1() 在 test2 中调用 test1 时,它说 test1 不是一个函数 当我打电话给 test1 时我...

回答 1 投票 0

当我在 DOM 事件属性中调用函数时,如何确保它可以访问事件的 `this`?

我试图在单击事件发生时调用函数。 在函数本身中,我提到了这一点: 函数移动(e){ var myId = this.id; 控制台.log(myId); } 我试图在 click 事件发生时调用函数。 在函数本身中,我指的是this: function move(e) { var myId = this.id; console.log(myId); } <button id="A1" onclick="move()">#A1</button> <button id="A2" onclick="move()">#A2</button> <button id="A3" onclick="move()">#A3</button> 但是我运行整个过程,控制台显示“未定义”。当我尝试 alert(this); 时,我得到“[对象窗口]”。 我该如何解决这个问题? this 是代码中的 window 对象。 您可以传递 this 作为参数。 <td id="A1" onclick="move(this)" class="white"></td> 然后: function move(ele){ var myId = ele.id; alert("myId"); } 当从事件处理程序调用函数时,其 this 不是由处理程序设置的(尽管您可以根据 Xdazz 的答案从处理程序传递 this,或根据 Kyle 的答案设置 this)。另一种方法是从与事件关联的事件对象中提取发送者元素: function move(e) { if (!e) e = window.event; var sender = e.srcElement || e.target; //maybe some nested element.. find the actual table cell parent. while (sender && sender.nodeName.toLowerCase() != "td") sender = sender.parentNode; var myId = sender.id; alert(myId); } ​ 您还必须显式传递事件: onclick="move(event)" 请注意,当表格单元格具有嵌套元素时,它们将成为“发送者”,因此要获取所需的元素(即表格单元格),您必须向上遍历。 为了避免所有这些令人头疼的问题,请参阅下面如何通过代码附加处理程序。 现场测试用例. 也就是说,更好的做法是通过代码而不是内联绑定点击事件 - 不要将 HTML 与 JavaScript 混合。为了实现这一点,有这样的代码: window.onload = function() { var arrCells = document.getElementsByTagName("td"); for (var i = 0; i < arrCells.length; i++) { var oCell = arrCells[i]; if (oCell.id && oCell.id.substr(0, 1) == "A") { oCell.onclick = move; } } } 使用上述代码后,您可以从 HTML 中删除内联 onclick= 调用并保留原始函数 - this 将指向单击的表格单元格。 更新了小提琴。 <td id="A1" onclick="move.call(this)" class="white"></td> 现在 this 将引用 td 函数中的 move 元素。 尝试使用事件目标来获取您正在寻找的 dom 元素: function move(e) { alert(e.target); }

回答 4 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.