监听用户更改元素属性

本文探讨了JavaScript中的ResizeObserver和MutationObserver如何用于实时监控元素尺寸变化及属性改动。通过实例演示了如何创建和取消观察,并介绍了这两个API在前端开发中的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<input type="password" id="box">
    <script>
        const mutationObserver = new MutationObserver((mutationsList) => {
            console.log(mutationsList,mutationsList[0].target)
            if( mutationsList[0].attributeName=="type" && mutationsList[0].target.type=="text"){
                console.log(document.getElementById('box'));
                document.getElementById('box').setAttribute('type','password')
            }
        });
        mutationObserver.observe(box, {
            attributes: true,
            childList: true
        });

    </script>
ResizeObserver监听元素变化
    <div class="wrapper" id="wrapper"></div> 
    window.onload=function(){
        const resizeObserver = new ResizeObserver(entries => {
            console.log("我的resize变化啦");
            console.log(entries);
        });
        resizeObserver.observe(document.getElementById('wrapper'))
      }
取消监听
window.setTimeout(() => {
   myObserver.unobserve(document.getElementById('wrapper'))   // 需要接收一个参数
}, 2000)

https://juejin.cn/post/7064557881492209678

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值