【问题标题】:How to select a div inside an Handsontable cell editor如何在 Handsontable 单元格编辑器中选择 div
【发布时间】:2015-10-25 19:08:34
【问题描述】:
我正在尝试将第 3 方文本编辑器 Summernote (http://summernote.org) 集成到 Handsontable (v0.13) 的单元格编辑器中。
很遗憾,我无法聚焦 Summernote 用作输入的 div,因为 Handsontable 不认为它是输入。
经过多次测试,我确定 Handsontable 正在处理点击事件,但我没有成功阻止此事件在 Handsontable 中的传播。任何想法将不胜感激:D
【问题讨论】:
标签:
dojo
handsontable
summernote
【解决方案1】:
通过将以下代码添加到 Handsontable 配置中,我终于找到了解决此问题的方法,该配置允许在 Click inside 时不关闭我的单元格编辑器:
Handsontable.Dom.addEvent(myGridContainer, 'mousedown', function(event){
//If I click on container of my Text editor or children
if($(event.target).is('.GridWidgetHTMLLEditor *, .GridWidgetHTMLLEditor')) {
//The tricky Handsontable propagation stop
Handsontable.Dom.enableImmediatePropagation(event);
event.stopImmediatePropagation();
}
});
我还不得不使用一些解决方法,因为这还不够(我有一个 Handsontable 处理程序,我无法阻止)。我需要将选项“fragmentSelection:true”添加到 Handson 设置,并将创建的单元格编辑器容器附加到 Handson 的主要 tbody 内(来自 .htContainer 的第一个子 tbody)
允许声明summernote div 输入是输入(Handsontable 没有将 div 定义为输入)是一个小技巧。
如果您要求,我可以添加我需要解决的 Handson 代码,以便更多地理解!
因为它正在工作:")>")> o/