jQuery data()和’changeData’事件

我可以向HTML元素添加一个click事件,并让click事件更新$(document).data(key,value)

然后,这将触发$(document).bind('changeData', function() {...})) 。 知道了这一点,找出更新$(document).data() HTML元素的最佳方法是什么?

例如:

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

那么点击事件的数据:

 $('#elementSelector').click(function(e){ $(document).data(key, val); }); $(document).bind('changeData', function(e){ // e.target? }); 

如果没有,请尝试将目标存储在存储的数据中:

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

然后,当您有更改事件时:

 $(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的setDatachangeData事件自1.8以来已被弃用,并在1.9中被删除。 这意味着在2.X和3.X中,您无法再绑定到这些事件。