2012-09-10 65 views
4

如何更改Ace編輯器中來自select的更改事件的主題?我能夠以編程方式在dom ready事件上設置主題。我所調用的代碼(對於這兩個事件)看起來像下面,我傳遞的值(如「ace/theme/clouds」/「ace/theme/clouds_midnight」)。Ace編輯器:如何動態更改主題

setThemeValue = function(themeVal){ 
var editor = ace.edit("editor"); 
editor.setTheme(themeVal); 
editor.getSession().setMode("ace/mode/javascript"); 
}; 

回答

11

setTheme」改變你的飛行使用的主題,您無需重做ace.edit(「編輯」)。

所以我建議,而不是像這樣的代碼:

// Initialize your Ace Editor 
var editor = (function() { 
    var aceEditor = ace.edit("editor"); 
    // default theme 
    aceEditor.setTheme("ace/theme/clouds"); 
    aceEditor.getSession().setMode("ace/mode/javascript"); 
    return aceEditor; 
})(); 

// Change theme on the fly 
editor.setTheme("ace/theme/clouds_midnight");