我如何找出导致与jQuery相关的消息的原因是什么?"使用变异事件已被弃用。改用MutationObserver"?

时间:2017-05-18 13:36:58

标签: javascript jquery firefox mutation-observers

我在浏览器上加载典型页面时收到此消息:

  

不推荐使用Mutation Events。请改用MutationObserver。

此消息恰好抛出的行号如下:jquery-3.2.1.js:5062:6

查看jQuery源代码,这是它包含的代码,其中有问题的行是elem.addEventListener( type, eventHandle );

// Init the event handler queue if we're the first
if ( !( handlers = events[ type ] ) ) {
    handlers = events[ type ] = [];
    handlers.delegateCount = 0;

    // Only use addEventListener if the special events handler returns false
    if ( !special.setup ||
        special.setup.call( elem, data, namespaces, eventHandle ) === false ) {

        if ( elem.addEventListener ) {
            elem.addEventListener( type, eventHandle );
            # ^^^^^ the line that throws the Mutation Observer message
        }
    }
}

如何查找负责触发此消息的代码?

1 个答案:

答案 0 :(得分:3)

每个问题下的评论:

在您的代码库中搜索不赞成使用的DOM事件,即以下内容的正则表达式:

DOMAttrModified|DOMAttributeNameChanged|DOMCharacterDataModified|DOMElementNameChanged|DOMNodeInserted|DOMNodeInsertedIntoDocument|DOMNodeRemoved|DOMNodeRemovedFromDocument|DOMSubtreeModified

它将向您显示触发过时事件的有害行。