1

你可以看到我正在检查help.aria-hidden === "true" 但它不起作用。有什么问题,请帮忙。

谢谢。

function Help() { // Help
    var help = document.getElementById("help_content"),
        overlay = document.getElementById("overlay");

    function closeHelpAndOverlay() {
        help.setAttribute("aria-hidden", "true");
        overlay.setAttribute("aria-hidden", "true");
        textarea.focus();
    }

    if (help.aria-hidden === "true") {
        closeHelpAndOverlay();
    } else {
        help.setAttribute("aria-hidden", "false");
        overlay.setAttribute("aria-hidden", "false");
        textarea.blur();
        document.getElementById("overlay").onclick = function() {
            closeHelpAndOverlay();
        };
        document.onkeydown = function(e) { // esc to close help
            if (e.keyCode === 27 || e.which === 27) {
                closeHelpAndOverlay();
            }
        };

    }

}
4

2 回答 2

4

您不能对包含连字符的属性使用句点语法(因为连字符被解释为减法运算符)。使用括号语法:

if (help['aria-hidden'] === "true") {
于 2013-09-28T00:41:36.490 回答
0

您是否期望通过调用Help(),您也会closeHelpAndOverlay()在到达 5 号线后立即调用?看起来你可能会这么想,但事实并非如此。您需要closeHelpAndOverlay()在定义后显式调用。

如果这不是您遇到的问题,请清楚说明您需要什么帮助。“它不起作用”不是人们可以帮助你的事情。

于 2013-09-28T00:40:00.507 回答