javascript - 如何禁用单击图像?
问题描述
我正在尝试使用 JavaScript 和 jQuery 制作记忆游戏,现在我想禁用单击在单击时打开的图像(卡片)。我试过了img.onclick=false
,,img.onclick=null
但它不起作用。下面是我的代码的一部分。
$(document).ready(function() {
$("img").click(function() {
checkIfMatch(this);
});
});
function checkIfMatch(img) {
arrayIMG.push(img);
img.onclick = false; //here I want to disable the clicking
}
解决方案
最简单的调整是仅将图像推送到数组中(如果它还没有在数组中):
function checkIfMatch(img) {
if (!arrayIMG.includes(img)) {
arrayIMG.push(img);
// do other stuff when an image is clicked, if any
}
}
如果您在单击新图像时不需要做其他事情,则可以通过使用 Set 来使事情变得更容易(它将自动压缩重复项):
const arrayIMG = new Set();
function checkIfMatch(img) {
arrayIMG.add(img);
}
推荐阅读
- javascript - Mongoose find() 检查是否有任何值匹配
- c++ - 基于非类型参数的类模板重载?
- c++ - 如何使用迭代器或c ++中的任何其他方式遍历元组向量
- java - Spring Boot - 如何通过实现 BeforeAllCallback 的自定义扩展类设置或覆盖 application.yml 中定义的属性?
- python - 根据另一个数据框中的列填充一个数据框中的空值?
- python - 条形图(主要)然后折线图(次要)工作正常,但如果我改变代码中的序列则不起作用
- redis - Redis:无效的数据库索引
- c - 如何使用 C 中的常量格式化将浮点数转换为指数
- javascript - React JS - 子组件的 setState 回调未更新父组件的状态
- javascript - 如何获取响应头的内容?