Событие keyup / keypress не запускается в Edge - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь понять это в tinymce (4.7). Когда вы набираете ссылку и затем нажимаете пробел, все браузеры преобразуют эту ссылку в URL:

http://fiddle.tinymce.com/k5faab/21

Однако в Edge вы должны использовать Enter, чтобы сделать то же самое. Пробел не будет этого делать. Есть ли в браузере Edge команда для пробела? Я хотел бы иметь единообразие для всех браузеров. По сути, в Edge плагин autolink не преобразует ссылки в кликабельный URL, если вы не нажмете клавишу ВВОД ПОСЛЕ ТОГО, КАК вы набрали ссылку. Если вы этого не сделаете, ссылка останется текстовой.

Я думаю, что это часть кода, ответственная за это:

var o, a = /^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i;
return e.settings.autolink_pattern && (a = e.settings.autolink_pattern), e.on("keydown", function(t) {
    if (13 == t.keyCode) return r(e)
}), tinymce.Env.ie ? void e.on("focus", function() {
    if (!o) {
        o = !0;
        try {
            e.execCommand("AutoUrlDetect", !1, !0)
        } catch (e) {}
    }
}) : (e.on("keypress", function(n) {
    if (41 == n.keyCode) return t(e)
}), void e.on("keyup", function(t) {
    if (32 == t.keyCode) return n(e)
}))

PS Я сохранил весь код здесь: https://jsfiddle.net/Lhgtdjrf/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...