JSFiddle - React, Tailwind, and code Playground

HTML

<div id="time"></div>

JavaScript

(function () {
    var olddata = $.fn.data;
    $.fn.data = function (key, value) {
        olddata.call(this, arguments);
        if (value !== undefined) $(this).trigger('setData', [key, value]);
    };
})();

$('#time').on('setData', function (ev, key, value) {
    console.log('setting', key, 'to', value);
});
setTimeout(function () {
    $('#time').data('foo', 'bar');
}, 1000);