Javascript 当发生某些事情时,不允许用户再单击表的td元素

Javascript 当发生某些事情时,不允许用户再单击表的td元素,javascript,Javascript,我有一个包含多个td元素的表,这就是我所做的,所以当我单击每个td元素时,我让他们做一些事情: window.onload = function(){ var all = document.getElementsByTagName("td"); for (i=0;i<all.length;i++) { all[i].onclick = inputClickHandler;

我有一个包含多个td元素的表,这就是我所做的,所以当我单击每个td元素时,我让他们做一些事情:

   window.onload = function(){



           var all = document.getElementsByTagName("td");
            for (i=0;i<all.length;i++) {
              all[i].onclick = inputClickHandler;    
            }
        };


       var max = 2, highlighted = 0;var results = [2];var sum = 0, count = 0;

    function inputClickHandler(e){

      e = e||window.event;
      var tdElm = e.target||e.srcElement;
        results = tdElm.innerHTML;
      if(tdElm.style.borderColor == 'rgb(255, 0, 0)'){
        highlighted--
        count--;
        tdElm.style.borderColor = '#000000';
      } else if (highlighted < max){
        highlighted++
        count++;
        tdElm.style.borderColor = '#FF0000';

         if(count==1){
           //numArr.push(results);
           numArr[0]= results;
         }else
           //numArr.push(results);
           numArr[1]=results;
        if(count==2){
          sum = +numArr[0] + +numArr[1];
          }else
            sum = 0;
        if(sum==fNum){
          max +=2;
          count = 0;
          numArr = [];
          score += 1;
          scoreGet.innerHTML = (score);
        }
但它不起作用。取而代之的是让我选择我想要多少td,即使2的和等于fNum。 还有一件事。我希望,如果我连续选择2个td,并且总和等于fNum,就不允许我再次单击其中任何一个。 感谢您的帮助:我是javascript新手。如果可能的话,我希望它是javascript的,而不是jQuery的。
谢谢大家!

罗兰,这就是全部密码吗?这似乎是不完整的-至少,你的花括号不平衡。因此,如果这就是全部代码,我希望在浏览器的JavaScript控制台中看到大量错误,并且我希望浏览器认为它的错误远不止这些。专业提示:这段代码的格式到处都是,很难阅读。整洁地格式化代码的一个原因是,当你不得不问别人为什么它不工作时,他们可以轻松地阅读并帮助你。这并不是全部代码。只是eventListener部分,它允许我点击表中的td元素。我已经尝试了几次,想弄清楚你想做什么并回答这个问题,但是说实话,这个问题是如此模糊和不精确,代码是如此混乱,几乎无法修复。我建议你学习更多的JavaScript,然后重新考虑设计。你想做的事情——据我从问题中猜到的,并不明显——可能是可行的,但这不是解决问题的方法。
 }else{
      count = 0;
      highlighted = 0;
      sum = 0;
      tdElm.style.borderColor = '#000000';
    }