打字稿错误:属性'包含'类型'元素'上不存在。?

时间:2016-04-21 18:06:55

标签: javascript jquery html typescript

嗨我正在听html对话框上的焦点事件,并尝试检查当前的焦点元素是否是我的对话框的一部分"类。请参阅下面的代码。

$(document).ready(() => {
    document.addEventListener("focus", (event) => {
        var dialog = document.getElementsByClassName("dialog table-storage-dialog");
        var dialogOpen: boolean = true;
        var currentElement: any = event.target;
        if (dialogOpen && !dialog[0].contains(a)) {
            event.stopPropagation();
             $("#dialog table-storage-dialog").focus();
        }
    }, true);
});

但此代码会引发编译错误"属性'包含'类型'元素'"上不存在。知道这个代码有什么问题吗?

此代码确保在html对话框打开时继续按Tab键时,焦点不会退出对话框到背景窗口。它保持在对话框

1 个答案:

答案 0 :(得分:0)

DOM元素没有包含方法,就像错误所说的那样。我在想你的意思是改用jQuery。

更改此行:

var dialog = document.getElementsByClassName("dialog table-storage-dialog");

到此:

var dialog = $(".dialog, .table-storage-dialog");