Heim  >  Fragen und Antworten  >  Hauptteil

So erstellen Sie ein Ereignis, wenn sich das Thema ändert

Ich möchte eine Veranstaltung veranstalten, wenn sich das Thema ändert. Nicht verwenden setTheme().

var editor = ace.edit("editor");
ace.require("ace/ext/settings_menu").init(editor);
editor.session.setMode("ace/mode/java");
editor.setOptions({
    theme: "ace/theme/tomorrow_night_bright"
});

editor.on('changeTheme', function() {    -> This is not working
    console.log(editor.mode)
})

Ich habe versucht, das Thema „Event“ zu ändern und $("#-theme").change()Event zu verwenden, aber es funktioniert nicht

P粉245276769P粉245276769405 Tage vor768

Antworte allen(1)Ich werde antworten

  • P粉103739566

    P粉1037395662023-09-11 15:46:20

    editor.renderer 上有 themeChange 和 themeLoaded 事件,请参阅 https://github.com/ajaxorg/ace/blob/31bbd6ade094c1e142565837a4ee93c7931399a4/src/virtual_renderer.js#L1721

    editor.renderer.on('themeChange', function() {
        // theme setting changed
    })
    editor.renderer.on('themeLoaded', function() {
        // theme loaded and applied to editor
    })

    Antwort
    0
  • StornierenAntwort