Запустите Summernote Popover на других мероприятиях - PullRequest
0 голосов
/ 31 января 2019

Используя Summernote в airMode, всплывающая панель инструментов запускается при событии mouseUp.

Есть ли способ заставить его запускаться при других событиях (в частности, mouseEnter)?

1 Ответ

0 голосов
/ 31 января 2019

Это, очевидно, хак, и он рискует быть взломанным в новых выпусках, но он делает свою работу.Поместите этот код в событие Summernote onInit:

     callbacks: {
         onInit: function () {
             let summernote = $(this).data("summernote");      // Get the summernote data object

              $(summernote.layoutInfo.editable).mouseenter(function (ev) {
                  summernote.modules.airPopover.$popover.css({
                      display: 'block',                        // Set the css to display the popover
                      left: ev.clientX - 20,                   // Offsets to position popover relative to pointer
                      top: ev.clientY + 10
                   });
               });

               $(summernote.layoutInfo.editable).mouseleave(function () {
                   setTimeout(function () {
                       // Delay so that moving over popover doesn't immediately close it 
                       summernote.modules.airPopover.hide(); },1000); 
                    });
                }
            }
       }

Работает, но я бы предпочел что-то, что на самом деле поддерживается библиотекой.

...