2017-04-06 29 views
0

如何在另一个函数中访问样式对象?我有这部分如何在另一个函数中访问样式对象

... 
onOk: function() { 

      var style = new CKEDITOR.style({ 
      element: 'p', 
      styles: { 
       //some styles 
      }, 
      spaceFlag: 'superFlag' 
      }); 
      editor.applyStyle(style); 
    }, 
    onShow: function(){ 
    // i want to get here spaceFlag 
} 
.. 

回答

1

它看起来像你没有一个函数调用另一个。相反,他们都是兄弟姐妹,他们是父母背景的孩子。因此,在父上下文定义样式:

var styleOptions = { 
     element: 'p', 
     styles: { 
      //some styles 
     }, 
     spaceFlag: 'superFlag' 
    }, onOk: function() { 
     var style = new CKEDITOR.style(styleOptions); 
     editor.applyStyle(style); 
    }, 
    onShow: function(){ 
     // i want to get here spaceFlag 
     styleOptions.spaceFlag 
    }, 
... 

这里有一个独立的片断,你可以运行外的开箱:

function logMe() { 
 
     var styleOptions = { 
 
      element: 'p', 
 
      styles: { 
 
       //some styles 
 
      }, 
 
      spaceFlag: 'superFlag' 
 
     }; 
 
     console.log(styleOptions.spaceFlag); 
 
    } 
 
    logMe();

+0

我在想这件事,但样式是动态的,每个'ok'按钮点击。所以将这个对象从'onOk'中取出不是一个选项( – ddeadlink

+0

)没关系,它仍然可以工作,因为像onOk这样的本地函数将改变较高的上下文变量的值,并且下一个函数可以访问它。不适合你,请添加更多代码让我看看,我会修正它。我一直在使用这种模式。 –

+1

我想我只是添加一个属性到一个元素,所以我可以获得它的访问权限而编辑。因为所有样式都来自对话框窗口和我设置的值绑定到对话框对象,所以我不能放置对象。无论如何,你迫使我思考更好) – ddeadlink

相关问题