编辑我的网格时,如果在网格外点击,我编辑的框仍然可编辑。如何让已编辑的单元格在焦点丢失时“完成”编辑?Slickgrid - 丢失焦点结束编辑
9
A
回答
14
以下代码将保存当前编辑。
Slick.GlobalEditorLock.commitCurrentEdit();
你需要把它放在你认为应该触发保存的事件处理程序中。例如,如果您使用的示例文本编辑器插件,我相信一个editor-text
CSS类添加到那个时候,您正在编辑一个细胞产生的输入字段,因此这样的事情应该工作:
$('#myGrid').on('blur', 'input.editor-text', function() {
Slick.GlobalEditorLock.commitCurrentEdit();
});
6
我发现我需要换CLAV的处理程序超时:使用键盘导航时
Uncaught NotFoundError: An attempt was made to reference a Node in a context where it does not exist.
:
$("#myGrid").on('blur', 'input.editor-text', function() {
window.setTimeout(function() {
if (Slick.GlobalEditorLock.isActive())
Slick.GlobalEditorLock.commitCurrentEdit();
});
});
,以避免类似的错误。据推测,新的模糊处理程序在SlickGrid可以执行自己的处理之前触发,这会导致问题。
4
不幸的是,可能是由于事件处理的不同,Grame的版本在chrome中打破了键盘导航。 为了解决这个问题,我又增加了支票只能提交编辑,如果新的焦点内容是不是在网格内其他编辑器元素(如键盘导航的结果):
$('#grid').on('blur.editorFocusLost', 'input.editor-text', function() {
window.setTimeout(function() {
var focusedEditor = $("#grid :focus");
if (focusedEditor.length == 0 && Slick.GlobalEditorLock.isActive()) {
Slick.GlobalEditorLock.commitCurrentEdit();
}
});
});
这似乎在当前工作Firefox,Chrome和IE等版本。
相关问题
- 1. Javafx:TableCell焦点丢失
- 2. 如何从文本编辑对象中检测焦点丢失?
- 3. 丢失焦点退出编辑文本并保存状态
- 4. Drupal编辑工具丢失
- 5. TinyMCE的 - 在编辑焦点
- 6. android编辑文本焦点
- 7. c#检测应用程序的焦点丢失焦点
- 8. MS Access - 关于丢失焦点计算
- 9. 焦点丢失IPleaseWaitService使用Catel
- 10. Delphi应用程序丢失焦点
- 11. 焦点丢失时隐藏元素
- 12. 隐藏Iphone键盘丢失焦点
- 13. 登录表单不会丢失焦点
- 14. Formbox焦点丢失在颜色盒
- 15. Tkinter焦点丢失后询问
- 16. 输入时输入丢失焦点
- 17. Tkinter - 窗口丢失焦点事件
- 18. JavaFx TextField焦点丢失格式化
- 19. WPF边框丢失焦点事件
- 20. tableView reloadData丢失文本字段焦点
- 21. 如何结束编辑QTableWidgetItem
- 22. 如何在slickgrid失去焦点时进行单元格保存
- 23. SlickGrid选择编辑器
- 24. 我可以在不中断焦点的情况下结束对字段编辑器控件的编辑吗?
- 25. SlickGrid单元样式丢失排序
- 26. 在AngularUI的nggrid,编辑焦点小区选择例子并不....焦点编辑
- 27. 呈现在OpenGL obj文件结束了丢失的顶点
- 28. JTable在使用复合JPanel单元编辑器编辑后失去焦点
- 29. NSTableCellView中的NSTextField - 在失去焦点时进行编辑
- 30. 如何强制从编辑文本中失去焦点?
我可能会错过这里的东西。从理论上讲,这是有效的 - 因为如果我将它添加到萤火虫控制台中,然后获得焦点并失去焦点,它就会一次起作用。但在代码中,即使在document.ready中,它也不起作用:\ – sunzyflower 2013-03-20 15:21:48
我的错误是,模糊示例不起作用,因为输入字段是动态添加的。您需要使用'on'来绑定事件。我更新了这个例子,尝试一下。 – clav 2013-03-20 16:07:24
我收到以下错误: 类型错误:。jQuery的(...)上不是一个函数 [打破这个错误] \t 的jQuery( '#myGrid')上( '模糊',“输入.editor-text',function(){ – sunzyflower 2013-03-20 20:06:13