Привет.
Я пытаюсь пост-обработать контент, который добавляется в DOM через отличный проект SyntaxHighlighter.
Когда SH форматирует текст, он генерирует кучу HTML изатем записывает этот HTML в DOM.Он создает div с классом "syntaxhighlighter".
Я хочу прослушать вставку этих новых div, и когда они вставляются, я хочу манипулировать некоторыми html и затем перезаписать html в domс этим новым html.
Моя проблема в том, что когда я записываю этот новый html обратно в dom, он повторно запускает событие, которое в первую очередь запускает мой обработчик, и, таким образом, я застреваю в убийстве браузерарекурсия.
Вот что у меня пока есть ...
$('div.syntaxhighlighter').live('DOMNodeInserted', function(event){
//console.log(event);
var input = event.target.innerHTML;
var newInput = input.replace(/(dbo\..*?)(\(|\s)/ig,"<a href='?obj=$1'>$1</a>$2");
$(event.target).unbind();
event.stopPropagation();
$(event.target).html(newInput);
return false;
});
Ни unbind, ни stopPropagation, ни return false не получат желаемого поведения.Я думаю, что понимаю почему, но я не знаю, как это остановить (мой jquery-foo слаб, боюсь)
Спасибо за предложения.