12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- ///import core
- ///commands 选区路径
- ///commandsName ElementPath,elementPathEnabled
- ///commandsTitle 选区路径
- /**
- * 选区路径
- * @function
- * @name baidu.editor.execCommand
- * @param {String} cmdName elementpath选区路径
- */
- 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;
- }
- };
- };
|