当前位置:嗨网首页>书籍在线阅读

38-讨论

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

4.9.3 讨论

在本秘诀中,使用 .data() 方法管理对数据的访问,提供数据和标记的清晰分离。

使用 date() 方法的其他好处之一是隐式触发目标元素上的getData和setData事件,假设有如下HTML:

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

可以附加一个setData事件处理程序分离不同的关注点(模式和视图),这个处理器方法有三个参数( event 对象,数据 key (键值)和数据 value (值)):

// 监听新数据
$(document).bind('setData', function(evt, key, value) {
   if ( key == 'clock' ) {
     $('.updateTime').html( value );
   }
});

之后,每当在文档元素上调用 .date() 都会触发 setData 事件:

//在类为'updateTime'的所有元素上更新'time'数据
setInterval(function() {
   $(document).data('clock', (new Date()).toString() );
}, 1000);

这样,在前一个秘诀中,每隔1秒(1000毫秒)更新document对象上的 clock 数据属性,触发绑定到 document 的setData事件,更新当前时间的显示。