2017-04-06 67 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