Watching for DOM changes, the elegant way

前端 未结 2 1566
我在风中等你
我在风中等你 2020-12-13 09:21

I need to watch for an attribute change on any of the children of a specific DOM element. So far, I have been using mutation events.

The problem was - they were bugg

2条回答
  •  Happy的楠姐
    2020-12-13 09:53

    For efficient DOM monitoring with jQuery, you might take a look at the jQuery Behavior Plugin (Disclaimer: I'm the author) which utilizes a optimized version of Live Query. I'm using it in several products for 3 year now, without any problems.

    Edit: Listening for attribute changes would work like this:

    $.behavior({
        'div:first': {
            'changeAttr': function (event, data) {
                console.log('Attribute "' +  data.attribute + '" changed from "' + data.from + '" to "' + data.to + '"');
            }
        }
    });
    
    $('div:first').attr('foo', 'bar');
    

提交回复
热议问题