我有一个用html/js编写的覆盖模式弹出窗口,一切都很好,但是如果用户足够多的标签,他们就可以找到底层的表单字段/按钮。有什么好办法可以防止这种情况发生吗?

最佳答案

这是一个粗略的想法,但我希望能启发一些想法,而不是告诉你如何去做。我将使用伪代码和伪jquery代码的组合:

function showMymodaldExample() {
    //Show modal dialog (mymodal) code goes here
    //
    //Then we bind an event
    $(document).bind('mymodal.keydown', function(e) {
        if ( currently focussed element is not a child of mymodal ) {
            set the focus previous element
        }
    });
}

然后记住在销毁/隐藏对话框时解除mymodal.keydown的绑定

10-08 19:16