我有一个跨度,每秒都会在工具提示中显示一些来自服务器的数据:
<span class="bata hastip" title="{will change}"></span>
我正在使用tooltipsy插件来显示工具提示:
$('.hastip').tooltipsy({
offset: [-10, 0],
css: {
'background-color': '#444F54',
'border': '1px solid #888'
}
})
由于我的数据每隔几秒钟就会发生变化,我该如何检测到这种变化?像这样:
$('.bata').prop('title', datas);
//$('.bata').attr('title', datas) same...
$(document).on('change', '.bata', function(){
//this method doesn't work
});
答案 0 :(得分:1)
&#34;您指的是DOM Mutation事件。这些事件的浏览器支持很差(但正在改进)。 jQuery的Mutation Events插件可能会让你有所帮助。&#34;
请参阅此相关问题:firing event on DOM attribute change
快捷方式 - 检查一下:)
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver
支持非常好,除了IE11 +
来自MDN的示例用法:
// select the target node
var target = document.querySelector('#some-id');
// create an observer instance
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
console.log(mutation.type);
});
});
// configuration of the observer:
var config = { attributes: true, childList: true, characterData: true };
// pass in the target node, as well as the observer options
observer.observe(target, config);
// later, you can stop observing
observer.disconnect();