JQuery 1.9不触发setData事件 [英] JQuery 1.9 not triggering setData event

查看:114
本文介绍了JQuery 1.9不触发setData事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

以下代码适用于JQuery 1.8,但不在JQuery 1.9中。

The following code works in JQuery 1.8 but not in JQuery 1.9

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

$(document).ready(function() {

$('#time').on('setData', function(evt, key, value) {
    if ( key == 'clock' ) {
        $(this).html( value );
    }
});

setInterval(function() {
    var time = (new Date()).toString();
    $('#time').data('clock', time );    
}, 1000);

});

JSfiddle

任何人请解释我

推荐答案

请参阅 http://bugs.jquery.com/ticket/11718


不需要文档更改,因为事件从未正式记录。 Googlebot:Crawleth这个页面,并且知道数据事件已被弃用,并将在1.9 中删除。

这是一个可能的补丁(相当未经测试):

Here's a possible patch (rather untested):

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

演示: http://jsfiddle.net/Pufru/

这篇关于JQuery 1.9不触发setData事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆