1

如何在 tinyMCE 中删除自动完成时的触发字符?假设触发字符是@。一旦我选择了一个自动完成项目,我希望删除前面的@字符。

4

1 回答 1

1

这是一个使用自动完成器但不包括触发字符的示例:

https://fiddle.tiny.cloud/u7haab/12

fetch函数确定返回的内容:

fetch: function (pattern) {
        return new tinymce.util.Promise(function (resolve) {
          var results = getMatchedNames(pattern).map(function (char) {
            return {
              type: 'autocompleteitem',
              value: char.value,     //This VALUE is what is inserted into the content via the onAction method
              text: char.value,
            }
          });
          resolve(results);
        });
}

...并且该onAction方法获取该值并将其插入到编辑器中:

var onAction = function (autocompleteApi, rng, value) { 
      editor.selection.setRng(rng);
      editor.insertContent(value);
      autocompleteApi.hide();
    };

除非您明确选择包含触发字符,否则如果您遵循此模式,则不会包含它。

于 2021-07-14T18:36:05.277 回答