繁体   English   中英

无法将aria-hidden属性用作javascript对象

[英]Unable to use aria-hidden attribute as javascript object

你可以看到我正在检查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();
            }
        };

    }

}

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

if (help['aria-hidden'] === "true") {

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM