Methode zum Auslösen von Ereignissen: über das benutzerdefinierte GrapesJS-Panel
P粉865900994
P粉865900994 2023-09-16 14:36:52
0
1
1021

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粉865900994
P粉865900994

Antworte allen(1)
P粉477369269

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

document.getElementById("dropdownElement").addEventListener('change', function(e) {console.log(e.target.value);});
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage