首页 > 解决方案 > 如何禁用单击图像?

问题描述

我正在尝试使用 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
}

标签: javascriptjquery

解决方案


最简单的调整是仅将图像推送到数组中(如果它还没有在数组中):

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);
}

推荐阅读