开发者

jQuery data() and 'changeData' event

开发者 https://www.devze.com 2023-02-19 02:11 出处:网络
I can add a click event to an HTML element and have the click event update $(document).data(key,value).

I can add a click event to an HTML element and have the click event update $(document).data(key,value).

This would then trigger $(document).bind('changeData', function() {...})). Knowing this, what would be the best way to find out which HT开发者_开发百科ML element updated $(document).data()?

E.g.:

$(document).bind('changeData', function {
  // get the anchor that set $(document).data()
});

$('a').click(function() {
  $(document).data('key', 'value');
});


Well for the data by click event:

$('#elementSelector').click(function(e){
    $(document).data(key, val);
});

$(document).bind('changeData', function(e){
    // e.target?
});

If not, try storing the target within the data stored:

$('#elementSelector').click(function(e){
    $(document).data(key, {
        val: 'value',
        target: e.target
    });
});

Then when you have the change event:

$(document).bind('changeData', function(e){
    var data = $(this).data(key);
    var target = data.target;
    var value  = data.val;
});


https://bugs.jquery.com/ticket/11718

jQuery's setData and changeData events have been deprecated since 1.8 and removed in 1.9. This means that in 2.X and 3.X you're no longer able to bind to these events.

0

精彩评论

暂无评论...
验证码 换一张
取 消