Javascript 当发生某些事情时,不允许用户再单击表的td元素
我有一个包含多个td元素的表,这就是我所做的,所以当我单击每个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;
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';
}