2016-11-22 5 views
0

Ich habe diesen Rückruf in meinem html:getContent löst auch bei ausgewählter Text ziehen

editor.on('getContent', function(e) { 
    if ((typeof(obj) !== 'undefined') && (obj !== null)){ 
     obj.onGetContentEventHandler(e.content); 
    } 
}); 

Wenn ich einen Text im Editor auswählen und ziehen Sie den ausgewählten Teil in einiger Entfernung (nicht fallen gelassen werden muss der Text, das eigentliche Ereignis wird ausgelöst, sobald Sie anfangen zu ziehen), löst TinyMce das getContent -Event aus!

Nun, wie Sie im Code-Snippet oben sehen können, habe ich einen Rückruf zu meiner Anwendung, die den Editor-Text mit der Anwendung synchronisiert. Also, wenn Sie 'Hallo' aus dem Text 'Hallo' auswählen und ziehen (egal wo Sie es fallen lassen), wird die Anwendung denken, dass der Text in TinyMce 'Hallo' jetzt ist, wenn es tatsächlich noch ist 'Hallo da'!

Ist das ein Fehler?

ich wirklich wissen möchte, wie entweder:

  1. In editor.on('getContent'...-Check für einen „Dies ist ein gezogenes ausgewählter Text“ -Event und dann einfach überspringen. oder ...
  2. Stop getContent Auslösen beim Ziehen ausgewählten Text.

Wie kann ich das tun?

Hier ist ein codepen, wo Sie dies für sich selbst ausprobieren können! . - Bringen Sie die Codepen-Konsole nach oben, wenn sie noch nicht oben ist. - Wählen Sie einen Teil des Textes, wie "ist ein Te" oder etwas. - In der Konsole sehen Sie jetzt, dass das Ereignis getContent mit Ihrem ausgewählten Text ausgelöst wurde.

Antwort

0

Ich habe es gefunden!

e.selection enthält einen Wahrheitswert, der wahr ist, wenn das Ereignis eine Auswahl ist.

Der Rest war einfach ...

editor.on('getContent', function(e) { 
    if ((typeof(obj) !== 'undefined') && (obj !== null) && !e.selection){ 
     obj.onGetContentEventHandler(e.content); 
    } 
}); 
Verwandte Themen