javascript - :focus on multiple buttons 的替代解决方案

标签 javascript jquery button safari focus

当单击按钮时,我正在努力寻找 :focus 的不同解决方案,如 Safari doesn't support :focus on buttons

我有一个包含 16 个按钮的字段,单击它时应该改变颜色,单击不同的按钮时应该松开它。

我创建了this fiddle显示事件。 toggleClass 不是正确的解决方案,希望避免 :focus

当前 JS 代码:

$(".tbl-button").on("click", function() {
        $(".tbl-button:focus").addClass("table-btn-color");
});

最佳答案

您只需将 css 声明从 .table-btn-color 更改为 .tbl-button:active 即可。

但是如果你想使用 jQuery,你可以这样做

$(".tbl-button").on("mousedown", function() {
  $(this).addClass("table-btn-color");
}).on('mouseup', function(){
  $(this).removeClass("table-btn-color");
});

为了保留所选元素上的类,您可以这样做:

$(".tbl-button").on("mousedown", function() {
  // remove the class form all .tbl-button elements
  $(".tbl-button").removeClass("table-btn-color");
  // add it to the currently pressed element
  $(this).addClass("table-btn-color");
})

关于javascript - :focus on multiple buttons 的替代解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52174771/

相关文章:

jquery - 可以在 Jquery Mobile 中调整按钮填充吗?

变量中的javascript匿名函数

php - 使用 SWFupload 或 Uploadify 时,是否需要编辑 php.ini 设置?

html - 水平按钮的 CSS

javascript - Bootstrap 模式无法正确加载

jquery - 模糊的字体,动态生成的 SVG 中的线条到 Canvas 中

java - 如何用循环使程序重置回开头

javascript - 单击以打开灯箱画廊时如何链接按钮?

javascript - 如何在 Javascript 中连接对象和数组?

javascript - 在 MongoDB 中更新具有不同 ID 的多个文档