DOMSubtreeModified を使用して、div 内のすべての DOM 変更を取得しています。
var stoppedTyping="";
$(".jqte_editor").on("DOMSubtreeModified", function(e) {
if (stoppedTyping) clearTimeout(stoppedTyping);
stoppedTyping = setTimeout(function(){
var editorText = $(".jqte_editor").html();
createUniqueId($(".jqte_editor"));
console.log(editorText);
}, 1000);
});
上記のコードでは、DOM の変更時に createUniqueId() 関数を呼び出しています。
function createUniqueId(tag){
var children = tag.children();
if(children.length > 0)
{
for ( var i = 0; i < children.length; i++) {
var child = children[i];
var childId = $(child).attr("id");
if(childId == undefined)
{
var id = UUID.generate();
$(child).attr('id', id);
}
}
}
}
上記のコードは、ID を持たないタグごとに一意の ID を作成します。
Id を割り当てると、DOMSubtreeModified イベントが発生します。
ID の割り当て時に DOMSubtreeModified イベントを発生させないようにするにはどうすればよいですか?