123456789101112131415161718192021222324252627282930313233343536373839404142 |
- /**
- * 选取路径命令
- * @file
- */
- UE.plugins["elementpath"] = function() {
- var currentLevel,
- tagNames,
- me = this;
- me.setOpt("elementPathEnabled", true);
- if (!me.options.elementPathEnabled) {
- return;
- }
- me.commands["elementpath"] = {
- execCommand: function(cmdName, level) {
- var start = tagNames[level],
- range = me.selection.getRange();
- currentLevel = level * 1;
- range.selectNode(start).select();
- },
- queryCommandValue: function() {
- //产生一个副本,不能修改原来的startElementPath;
- var parents = [].concat(this.selection.getStartElementPath()).reverse(),
- names = [];
- tagNames = parents;
- for (var i = 0, ci; (ci = parents[i]); i++) {
- if (ci.nodeType == 3) {
- continue;
- }
- var name = ci.tagName.toLowerCase();
- if (name == "img" && ci.getAttribute("anchorname")) {
- name = "anchor";
- }
- names[i] = name;
- if (currentLevel == i) {
- currentLevel = -1;
- break;
- }
- }
- return names;
- }
- };
- };
|