当用户从一系列按钮中单击一个按钮时,我希望浏览器能够在他们单击后立即检测到哪些按钮被切换。
这是一个例子:http: //jsfiddle.net/Uc6LV/11/
- 尝试单击“一个”(没有任何反应)
- 现在点击“二”,它会显示“一”(上一个被点击的
我将事件侦听器从更改为click
,mouseup
但它似乎仍然过早触发事件。
有任何想法吗?
当用户从一系列按钮中单击一个按钮时,我希望浏览器能够在他们单击后立即检测到哪些按钮被切换。
这是一个例子:http: //jsfiddle.net/Uc6LV/11/
我将事件侦听器从更改为click
,mouseup
但它似乎仍然过早触发事件。
有任何想法吗?
在您的事件监听器中,我会监听“点击”事件并通过 setTimeout() 延迟实际计算。这适用于您的小提琴:
container.children[i].addEventListener("click", //click is better than mouseup
function(){
//let's delay execution until button is toggled
setTimeout(function() {
notice.innerHTML = toggled().toString(); }, 1);
})