如何删除 ContentTools 中的 ContentEdit.Static 元素
How to remove ContentEdit.Static element in ContentTools
我在 ContentTools 中创建了一个新工具,它添加了一个静态 table(我不想让你编辑)。
但是作为一个静态元素并不能保持焦点,当我点击删除按钮时我不能删除它。
我可以这样做 table 不是 editable 但如果你点击它可以将其删除?
这就是我创建元素的方式:
new ContentEdit.Static('div', {'data-ce-moveable': true}, '<table><thead><tr><th>Foo head</th></tr></thead><tbody><tr><td>Foo body</td></tr></tbody></table>')
谢谢!
大多数情况下无法与静态元素交互(其他元素可以围绕它们拖动,仅此而已)。 ContentEdit/Tools 确实允许您限制元素的某些行为,但现在还不能修改文本元素的内容(尽管我认为这可能是一个值得添加的内容)。
然而,虽然目前没有固定的方法来执行此操作,但您可以使用一种方法来提供您描述的行为(请告诉我您的进展情况):
ContentEdit.Root.get().bind('mount', function(element) {
// We only care about `TableCell` elements
if (element.type() != 'TableCell') {
return;
}
// We only want to make the element read-only if the parent table has
// the `data-read-only` attribute.
var table = element.closest(function(node) {
return node.type() == 'Table';
});
if (table.attr('data-read-only') !== undefined) {
// Disable text editing for the table cell
element.tableCellText()._onKeyDown = function(ev) {
ev.preventDefault();
}
}
// Disable dragging of the table rows
var tableRow = element.closest(function(node) {
return node.type() == 'TableRow';
});
tableRow.can('drag', false);
tableRow.can('drop', false);
});
我在 ContentTools 中创建了一个新工具,它添加了一个静态 table(我不想让你编辑)。
但是作为一个静态元素并不能保持焦点,当我点击删除按钮时我不能删除它。
我可以这样做 table 不是 editable 但如果你点击它可以将其删除?
这就是我创建元素的方式:
new ContentEdit.Static('div', {'data-ce-moveable': true}, '<table><thead><tr><th>Foo head</th></tr></thead><tbody><tr><td>Foo body</td></tr></tbody></table>')
谢谢!
大多数情况下无法与静态元素交互(其他元素可以围绕它们拖动,仅此而已)。 ContentEdit/Tools 确实允许您限制元素的某些行为,但现在还不能修改文本元素的内容(尽管我认为这可能是一个值得添加的内容)。
然而,虽然目前没有固定的方法来执行此操作,但您可以使用一种方法来提供您描述的行为(请告诉我您的进展情况):
ContentEdit.Root.get().bind('mount', function(element) {
// We only care about `TableCell` elements
if (element.type() != 'TableCell') {
return;
}
// We only want to make the element read-only if the parent table has
// the `data-read-only` attribute.
var table = element.closest(function(node) {
return node.type() == 'Table';
});
if (table.attr('data-read-only') !== undefined) {
// Disable text editing for the table cell
element.tableCellText()._onKeyDown = function(ev) {
ev.preventDefault();
}
}
// Disable dragging of the table rows
var tableRow = element.closest(function(node) {
return node.type() == 'TableRow';
});
tableRow.can('drag', false);
tableRow.can('drop', false);
});