<span id="one"> one </span>
<span id="two"> two </span>
$("#one").mouseover(function(){
$(this).css('background-color', 'red');
});
$("#two").click(function(){
$(this).css('background-color', 'green');
});
if (any changes on the site) {
alert('changes detected');
}
如何检测页面上的任何更改?这可能吗?我想使用函数 .live(),但是如何?
我不想单独检查页面上的每个功能。
LIVE:http://jsfiddle.net/d4PMB/1/
最佳答案
您可以使用window.setTimeout()
,捕获主体的当前HTML(document.body.innerHTML
)并将其与先前保存的HTML进行比较:
var lastBodyHTML = "";
var changes = 0;
function test() {
if (lastBodyHTML == "") {
lastBodyHTML = document.body.innerHTML;
}
if (lastBodyHTML != document.body.innerHTML) {
changes++;
alert("CHANGE #" + changes);
lastBodyHTML = document.body.innerHTML;
}
window.setTimeout(test, 1000);
};
test();
工作示例:http://jsfiddle.net/d4PMB/7/
关于javascript - 使用jQuery和.live()函数检测到页面上的任何更改?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7979332/