jQuery如何绑定数据绑定?

5
<div id="conversations-uCount">0</div>
<script type="text/javascript">
$(document).ready(function() {
    $('#conversations-uCount').data('UnreadIDs', '1');
});
</script>

我该如何设置绑定,以便每当UnreadIDs更改时,我就可以运行一个函数?
谢谢
3个回答

4
在jQuery 1.4.4+版本中,有一个名为changeData的事件可供使用。如果您只处理对象上的这些数据,则处理程序可以简单地编写为:
$('#conversations-uCount').bind("changeData", function() {
  //data changed, do something, for example:
  alert("Data changed!, new value for UnreadIDs: " + $.data(this, 'UnreadIDs'));
});

You can test it out here.


太棒了 - 我不知道1.4.4版本中有这个新增功能!好消息。 - gnarf

1

我想你可以用一个简单的插件来实现:

$.fn.dataTrigger = function(name, value, callback) {
    $(this).data(name, value);
    callback(name, value);
    return this;
};

然后:

$('#conversations-uCount').dataTrigger('UnreadIDs', '1', myFunc);

演示:http://jsfiddle.net/karim79/q6apA/1/

这里发生了什么事情不确定? - AnApprentice
@学徒 - 意思是在编写数据时应用某种方法(并使用.dataTrigger而不是.data)。我希望我理解了你的问题 :) - karim79

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接