工作 jsFiddle 演示(版本 1.8.3)
在jQuery 1.9 之前,有用于处理的事件处理程序data
:
setData
- 每当设置数据时触发
getData
- 获取数据时触发
但是 jQuery 站点中没有文档,它已从 jQuery 1.9 中删除。
$(function () {
$('.milestones-chain').on('setData', function (e, k, v) {
alert('[CHANGED] ' + k + ' : ' + v);
});
$('.milestones-chain').data('expertizes', '12345');
});
如果您通过 jQuery 1.8 运行此代码,您将获得alert
. data
通过将 a 设置为元素触发的事件。顺便说一句,它不适用于 jQuery 1.9 及更高版本。
工作 jsFiddle 演示(版本 1.10.1)
您可以将此功能带回 jQuery 的新版本。
(我从这个问题中得到它:JQuery 1.9 not triggering setData event)。
(function () {
var olddata = $.fn.data;
$.fn.data = function (key, value) {
olddata.call(this, arguments);
if (value !== undefined) $(this).trigger('setData', [key, value]);
};
})();
只需将其添加到脚本的第一行。