如何在关闭JavaScript确认框后取消按钮的焦点

3
我有一个带有Bootstrap元素的按钮。
<button title="delete" type="button"  class="btn btn-default btn-sr"  data-confirm="Are you sure to delete this item?"><span class="glyphicon glyphicon-trash white"></span></button></a>';

它有一个CSS属性,我把它变成了红色。

当用户点击删除按钮时,会弹出一个JavaScript确认框。

问题是每当我点击取消时,按钮就会被聚焦。我该如何移除聚焦的按钮?

以下是jQuery代码:

<script>
    $(document).on('click', ':not(form)[data-confirm]', function(e) {
        if( !confirm($(this).data('confirm')) ) {
            e.stopImmediatePropagation();
            e.preventDefault();
        }
    });
</script>

请看这个链接: https://dev59.com/y3E85IYBdhLWcg3w9orw - Ali Mardan
1
如果您计划支持盲人和需要ARAI标签的用户,那么在打开对话框之前应该将焦点保留在原来的位置。否则,用户不知道焦点放在哪里会感到困惑。 - Intervalia
3个回答

3
也许你可以尝试对按钮进行模糊处理,使用 blur() 方法。
<script>
    $(document).on('click', ':not(form)[data-confirm]', function(e) {
        if( !confirm($(this).data('confirm')) ) {
            e.stopImmediatePropagation();
            e.preventDefault();
            $(this).blur(); // to make the focus disappear
        }
    });
</script>

哇哦..谢谢,我觉得我真的需要更多的学习...顺便说一下,谢谢。 - KingJ
没问题。愉快地编程吧!(请随意将此答案视为最适合您的答案) - D4V1D

0
$(this).blur();

移除焦点


0
$(this).blur();

结束

document.activeElement.blur()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接