这是第一个代码
var operations = 0;
$('body').bind('DOMCharacterDataModified, DOMNodeInserted, DOMSubtreeModified', 'test', function() {
if (operations < 1) {
tba_highlight_numbers();
}
operations++;
});
并且,这是“tba_highlight_numbers”功能的最新代码。
function tba_highlight_numbers() {
//Highlighting the number on webpage.
$("body *:not(span.tba_phone)").replaceText(/\d*[/\(-]*[0-9][0-9][0-9][/ \)\(-]*[0-9][0-9][0-9][/ \)\(-]*[0-9][0-9][0-9][0-9][/ \) ]*/g, function(ss) {
return '<span class="tba_phone" title="Make a Call to (' + $.trim(ss) + ') via ACT Browser Applet" style="color:green" rel="' + $.trim(ss) + '">' + ss + '</span>';
});
}
此js代码执行突出显示网页上的电话号码的操作。但是正如你在第一部分中看到的那样,通过ajax请求和其他方法动态地在网页上动态修改此函数。
因此,我的目标是不对之前突出显示的操作执行操作。
有人可以帮助我实现这一目标。
答案 0 :(得分:1)
将功能更改为
function tba_highlight_numbers() {
//Highlighting the number on webpage.
$("body *:not(span.tba_phone)").filter(function(){ return $(this).hasClass(".already-hightlighted");}).replaceText(/\d*[/\(-]*[0-9][0-9][0-9][/ \)\(-]*[0-9][0-9][0-9][/ \)\(-]*[0-9][0-9][0-9][0-9][/ \) ]*/g, function(ss) {
return '<span class="tba_phone" title="Make a Call to (' + $.trim(ss) + ') via ACT Browser Applet" style="color:green" rel="' + $.trim(ss) + '">' + ss + '</span>' + ss;
});
$("body *:not(span.tba_phone)").addClass('already-highlighted');
}