Summernote: как проверить, находится ли текущий выбор пользователя внутри определенного HTML-тега?

я хочу добавить поведение к кнопке, которую я сделал в summernote, чтобы добавить тег h4 к выбору:

heading: function (context) {
            var ui = $.summernote.ui;
            var button = ui.button({
              contents: 'H',
              click: function () {
                var range = context.invoke('editor.createRange');
                  if (range.toString()) {
                    var heading = document.createElement('h4');
                    $(heading).text(range.toString());
                    context.invoke('editor.insertNode', heading);
                  } else {
                    context.invoke('editor.formatH4');
                  }
              }
            });

использование текущего формата H4 не будет работать для моего варианта использования, потому что я хочу добавить этот тег к выбору пользовательского диапазона вместо того, чтобы просто форматировать всю строку в h4

теперь я хочу добавить поведение к моей кнопке, чтобы она выбиралась, когда ваш курсор находится внутри тега h4

я пытался создать диапазон с помощью api summernote, но я просто не могу понять, как использовать этот созданный диапазон, чтобы увидеть, нахожусь ли я внутри тега h4


person Abdul Hamid    schedule 18.10.2016    source источник


Ответы (1)


я нашел решение:

при нажатии и нажатии клавиши я добавил это:

window.getSelection().anchorNode.parentNode.nodeName

и это дает мне имя узла, которое я могу использовать для активации или деактивации кнопки

я нашел это решение, глядя здесь:

Как я могу получить элемент, в котором выделенный текст находится внутри?

person Abdul Hamid    schedule 18.10.2016