Heim  >  Fragen und Antworten  >  Hauptteil

Methode zum Auslösen von Ereignissen: über das benutzerdefinierte GrapesJS-Panel

Ich habe dem GrapesJS-Editor ein benutzerdefiniertes Panel hinzugefügt. Das Bedienfeld verfügt über ein Dropdown-Menü mit Werten. Ich möchte die Ausführung einer Funktion auslösen, wenn sich das ausgewählte Element im Dropdown-Menü ändert. Ich habe Folgendes versucht:

editor.Panels.addPanel({
            id: 'myPanel',
            content: '<select onChange="onChangeFn"><option>a</option><option>b</option></select>',
            visible: true,
            buttons: [],
        });

Wenn die Funktion onChangeFn()nicht definiert ist, tritt beim Ändern des ausgewählten Elements im Dropdown-Menü ein Fehler auf. Wenn die Funktion jedoch definiert ist, wird sie nicht ausgeführt (und es treten keine Fehler auf).

Ich verstehe, dass ich commandEigenschaften konfigurieren kann, um den zugehörigen Befehl auszuführen, wenn ich eine Schaltfläche verwende. In diesem Fall muss es sich bei dem Bedienfeld jedoch um ein Dropdown-Menü handeln.

P粉865900994P粉865900994399 Tage vor973

Antworte allen(1)Ich werde antworten

  • P粉477369269

    P粉4773692692023-09-17 13:19:24

    最终我直接附加了一个事件监听器。也就是说,在给选择元素赋予一个id之后(例如 dropdownElement),

    document.getElementById("dropdownElement").addEventListener('change', function(e) {console.log(e.target.value);});

    Antwort
    0
  • StornierenAntwort