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