93 lines
3.1 KiB
JavaScript
93 lines
3.1 KiB
JavaScript
![]() |
"use strict";
|
|||
|
/**
|
|||
|
* 使用样式事件
|
|||
|
*/
|
|||
|
define(function (require, exports, module) {
|
|||
|
|
|||
|
function handle(mutationList) {
|
|||
|
for (let mutation of mutationList) {
|
|||
|
|
|||
|
|
|||
|
switch (mutation.type) {
|
|||
|
case "childList":
|
|||
|
addNewP(mutation);
|
|||
|
break;
|
|||
|
case "characterData":
|
|||
|
updateText(mutation);
|
|||
|
break;
|
|||
|
default: {
|
|||
|
other(mutation);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function other(mutation) {
|
|||
|
console.log("mutation : ", mutation,
|
|||
|
// 观察的变动类型(attributes、characterData或者childList)。
|
|||
|
"\ntype", mutation.type,
|
|||
|
//发生变动的DOM节点。
|
|||
|
"\ntarget", mutation.target,
|
|||
|
"\ntargetParent", mutation.target.parentElement, mutation.target.parentNode,
|
|||
|
//新增的DOM节点。
|
|||
|
"\naddedNodes", mutation.addedNodes,
|
|||
|
//删除的DOM节点。
|
|||
|
"\nremovedNodes", mutation.removedNodes,
|
|||
|
//前一个同级节点,如果没有则返回null。
|
|||
|
"\npreviousSibling", mutation.previousSibling,
|
|||
|
//下一个同级节点,如果没有则返回null。
|
|||
|
"\nnextSibling", mutation.nextSibling,
|
|||
|
//发生变动的属性。如果设置了attributeFilter,则只返回预先指定的属性。
|
|||
|
"\nattributeName", mutation.attributeName,
|
|||
|
//变动前的值。这个属性只对attribute和characterData变动有效,如果发生childList变动,则返回null。
|
|||
|
"\noldValue", mutation.oldValue);
|
|||
|
}
|
|||
|
|
|||
|
function addNewP(mutation) {
|
|||
|
let target = mutation.target;
|
|||
|
if (target.nodeName === "DIV" && mutation.previousSibling !== null) {
|
|||
|
console.log(
|
|||
|
"target: ", target,
|
|||
|
"\nnodeType: ", target.nodeType,
|
|||
|
"\nnodeName: ", target.nodeName,
|
|||
|
"\ndata: ", target.value,
|
|||
|
"\n next: ", mutation.previousSibling.nextSibling
|
|||
|
)
|
|||
|
|
|||
|
let utils = require("../../common/utils");
|
|||
|
let ctx = require("../../common/ctx");
|
|||
|
let curP = mutation.previousSibling.nextSibling;
|
|||
|
if (curP !== undefined && curP !== null) {
|
|||
|
curP.id = utils.Uuid(ctx.usn, ctx.docType);
|
|||
|
curP.setAttribute("data-order", ctx.incrementNumThenReturn());
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
function updateText(mutation) {
|
|||
|
let target = mutation.target;
|
|||
|
if (target.nodeType === 3 && target.nodeName === "#text") {
|
|||
|
// console.log(
|
|||
|
// "target: ", target,
|
|||
|
// "\nnodeType: ", target.nodeType,
|
|||
|
// "\nnodeName: ", target.nodeName,
|
|||
|
// "\ndata: ", target.value,
|
|||
|
// "\nparentNode: ", target.parentNode,
|
|||
|
// "\nparentNode_parentNode: ", target.parentNode.parentNode,
|
|||
|
// )
|
|||
|
|
|||
|
// let curSpan = target.parentNode;
|
|||
|
// let curP = target.parentNode.parentNode;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
} else {
|
|||
|
other(mutation);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//导出
|
|||
|
exports.handle = handle;
|
|||
|
});
|