【发布时间】:2018-08-17 20:42:08
【问题描述】:
基本上我的页面中有一张图片,我可以点击它以模式打开它。我之前使用的是“严格模式”(简单形式),但由于我尝试符合 JSHint,因此我将其更改为函数形式。现在我有我的功能 openModal() 变得不确定。
<!-- Media part -->
<ul class="netreviews_media_part">
<!-- media 1 (picture) -->
<li>
<a data-type="image" data-src="https://www.expertisez.com/images/easyblog_images/511/Authentifier-un-sac-Chanel.jpg"
class="netreviews_image_thumb" href="javascript:" onclick="openModal(this);"
style="background-image:url('https://www.expertisez.com/images/easyblog_images/511/Authentifier-un-sac-Chanel.jpg');"> </a>
</li>
<ul>
JS代码(部分)
(function () {
"use strict";
function openModal(identifier) {
// stuff here
}
}());
在这里提琴:https://jsfiddle.net/7zd6mc65/2/
我似乎有点理解为什么它不起作用,感谢火箭队对这个问题的回答 (why does this code throw undefined in "strict mode"):显然由于“缺乏”上下文,我的函数上下文不再被定义。
不过这里有两件事:
1 - 为什么简单的“字符串”形式(没有函数形式的“严格模式”)不会成为问题?我的 openModal 函数没有使用它来未定义。
2 - 我试图在 HTML 中 openModal.call(this) 但它并没有给我更多的结果(如答案所示,但我想我弄错了)
我能做些什么来解决这个问题?谢谢
【问题讨论】:
-
你想用
this指代什么? -
@TomNijs 我尝试引用已单击的对象
标签: javascript