在其他事件上启动Summernote Popover

时间:2019-01-31 11:46:10

标签: summernote

在airMode中使用Summernote,弹出工具栏将在mouseUp事件上启动。

是否有办法使它在其他事件(特别是mouseEnter)上启动?

1 个答案:

答案 0 :(得分:0)

这显然是一种黑客行为,冒着在新版本中被破坏的风险,但确实可以做到。将此代码放在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); 
                    });
                }
            }
       }

可以完成工作,但是我更喜欢库实际支持的功能。