You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

var el; // Get the main editable Slate element into this variable.

el.addEventListener('customInsertText', function(event) {
    event.preventDefault();

    setTimeout(function() {
        if (// For Safari browser) {
            replaceSafari(event.detail.text);

            return;
        }

        replaceForAll(el, event.detail.text);
    }, 100);
});

var replaceForAll = function(element, text) {
        var clipboardEvent = new ClipboardEvent('paste', {
                clipboardData: new DataTransfer(),
                bubbles: !0
            });

        clipboardEvent.clipboardData.setData('text/plain', text);

        element.dispatchEvent(clipboardEvent);
};

var replaceSafari = function(text) {
        document.execCommand('insertText', false, text);
};