当用户单击一系列按钮中的一个按钮时,我希望浏览器能够在用户单击后立即检测到哪些按钮被切换。
这是一个示例:http://jsfiddle.net/Uc6LV/11/
- 尝试点击“一”(没有任何反应)
- 现在点击“Two”,它将显示“one”(之前点击的那个)
我将事件监听器从 click
更改为 mouseup
,但它似乎仍然过早触发事件。
有什么想法吗?
最佳答案
在您的事件监听器中,我将监听“单击”事件并通过 setTimeout() 延迟实际计算。这在你的 fiddle 中有效:
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);
})
关于Javascript mouseup 事件在 Bootstrap 中带有切换按钮 - 该事件触发得太早,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20892751/