gpt4 book ai didi

javascript - CKEditor 4 如何在没有用户交互的情况下添加表格(即没有对话框)

转载 作者:行者123 更新时间:2023-11-28 08:46:17 26 4
gpt4 key购买 nike

我已经拥有表格所需的所有属性(即行数、列数、样式、类、标题样式等)。

当用户单击我的自定义按钮时,我需要添加具有此属性的表,而不需要通过任何对话框。

我考虑过显示对话框并用我的数据替换必填字段并触发“确定”单击。但这......有点丑陋的解决方案。

请告诉我,这个任务有什么优雅的解决方案吗?

最佳答案

通过实际破解默认值以使它们像 getter 函数一样解决问题,并在显示对话框后单击“确定”按钮:

(警告,咖啡)

CKEDITOR.on 'dialogDefinition', (ev) ->
if ev.data.name is 'table'
info = ev.data.definition.getContents 'info'
advanced = ev.data.definition.getContents 'advanced'

# HACK: default value now returns always value I have control on
info.get('txtRows')['default'] = { toString: -> self.ckeditor_table_rows }
info.get('txtCols')['default'] = { toString: -> self.ckeditor_table_cols }

# setup some normal defaults
info.get('txtWidth')['default'] = ''
info.get('txtBorder')['default'] = '0'
info.get('selHeaders')['default'] = 'row'
advanced.get('advCSSClasses')['default'] = 'table table-striped'

ev.data.definition.dialog.on 'show', ->
# make it create table, once dialog shown
this.getButton('ok').click()
# hide my own popover-like dialog
$('.has-popover').popover('hide')

这里的技巧是每次默认值都会尝试转换为字符串时调用toString方法。当这个默认值被输入到输入时,就会发生这种情况。

关于javascript - CKEditor 4 如何在没有用户交互的情况下添加表格(即没有对话框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19761733/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com