添加图片和视频后需要在图片和视频后自动添加标签p(仅当表格在最后时才是这样), 如何实施? 提前谢谢。
答案 0 :(得分:0)
我建议在应用工具时使用事件来捕获,然后应用您所追求的特定行为。
目前没有很好的方法来访问这些事件(我将在未来的版本中展望)但是在此期间,这里有一个解决方法,它为您提供了您所追求的行为,应该相对简单地应用于任何工具:< / p>
// Override the behaviour of the `ToolboxUI.tools` method so that we can
// bind to the applied event for the tools of interest.
var superTools = ContentTools.ToolboxUI.prototype.tools;
ContentTools.ToolboxUI.prototype.tools = function (tools) {
superTools.call(this, tools);
function _followWithP(ev) {
var element = ev.detail().element;
// Find the top level element
if (element.parent().type() !== 'Region') {
element = element.closest(function(node) {
return node.parent().type() === 'Region';
});
}
// Find the newely insert element
var newElement = element.nextSibling();
// Check if this is the last item in the region
var siblings = newElement.parent().children;
if (newElement === siblings[siblings.length - 1]) {
// This is the last child so apply add a paragraph
var p = new ContentEdit.Text('p', {}, '');
newElement.parent().attach(p);
p.focus();
}
}
// Modify the applied behaviour of the image, table and video tools to use
// `_followWithP`.
this._toolUIs['image'].addEventListener('applied', _followWithP);
this._toolUIs['table'].addEventListener('applied', _followWithP);
this._toolUIs['video'].addEventListener('applied', _followWithP);
}