我在容器 div 内有一个动态创建的 TinyMCE 文本区域(使用外部工具栏)。我试图让它可以拖动,并且可以调整大小(整个文本区域)。
jQueryUI 的 .draggable() 与 tinyMCE 一起使用,但如果我使用 .resizable(),当我单击该区域时,不会出现 tinyMCE 外部工具栏。如果我在它的设置中使用了tinyMCE的resize选项,当我点击拖动来调整它的大小时,它会破坏jqueryUI的可拖动功能(整个框跟随鼠标以及调整大小,并且不会松手)。
我使用 jquery ui draggable 的句柄选项和拖动函数回调解决了这个问题:
div.draggable.handle = "div[role=group], td.mceLast";
div.draggable.drag = function ( event, ui ) {
if ( $( event.srcElement ).is( '.mceResize' ) || $( event.originalEvent.target ).is( '.mceResize' ) ) {
return false;
}
};
这是解决方案
“.mce-resizehandle”是 tinymce 调整大小按钮的类
$( ".selector" ).resizable({
cancel: ".mce-resizehandle,input,textarea,button,select,option",
});
$( ".selector" ).draggable({
cancel: ".mce-resizehandle,input,textarea,button,select,option",
});