谷歌浏览器里面DOMNodeInserted和DOMNodeRemoved事件被移除修改

jquery-3.3.1.min.js?version=1.0.0:3 [Deprecation] Listener added for a ‘DOMNodeInserted’ mutation event. Support for this event type has been removed, and this event will no longer be fired. See https://chromestatus.com/feature/5083947249172480 for more information.

第一种:

<body>
	<button id="tid">test</button>
</body>
<script type="text/javascript" src="./jq.js"></script>
<script>
	$(document).ready(() => {
		setInterval(() => {
			$("#tid").append(document.createElement('li'))

		}, 1000)

	    $.fn.bind = function(types, data, fn) {
	    	if (types === "DOMNodeInserted") {
		    	const _this = this;
		    	const observer = new MutationObserver(function (list) {
		    		list.forEach(item => {
		    			if (item.addedNodes) {
		    				_this.trigger("DOMNODEINSERTED")
		    			}
		    		})
		    	})
		    	observer.observe(_this[0],{childList: true, subtree: true});
		        return _this.on("DOMNODEINSERTED",null, data, fn);
		    }
	        return this.on( types, null, data, fn );
	    };


		$("#tid").bind('DOMNodeInserted', () => {
			console.log("INSERTED")
		})
	})
</script>


第二种:

function handleObserver(dom) {
    // 创建MutationObserver来观察DOM变化
    const observer = new MutationObserver(function(mutationsList) {
        mutationsList.forEach(function(mutation) {
            if (mutation.type === 'childList') {
                if (mutation.addedNodes.length > 0) {
                    dom.trigger(new CustomEvent('node-added'));
                }
                if (mutation.removedNodes.length > 0) {
                    dom.trigger(new CustomEvent('node-removed'));
                }
            }
        });
    });
    // 开始观察
    observer.observe(dom[0], { childList: true, subtree: true });
}

handleObserver($("#tid"));
 // 监听新增节点
    $("#tid").bind('node-added', function(event) {
        console.log('INSERTED')
    });
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值