【问题标题】:Does the order of jQueryUI Dialogs make a difference (maybe just with TinyMCE)?jQueryUI 对话框的顺序是否有所不同(可能只是 TinyMCE)?
【发布时间】:2013-05-16 06:56:51
【问题描述】:

在下面的脚本中(实时示例位于 http://jsbin.com/aliket/1/,源代码位于 http://jsbin.com/aliket/1/edit),我创建了两个对话框,其中一个 (#dialog2) 是另一个 (#dialog1) 中的子对话框。如果我在#dialog1 之前创建#dialog2,打开#dialog1 然后打开#dialog2,TinyMCE 插件将不再工作。通过不工作,我的意思是 TinyMCE 的文本框被遮住了,任何以前输入的 HTML 都消失了。这是两个对话框的顺序问题还是 TinyMCE 的问题?为什么会这样?但是,我确实知道如何解决它:只需在#dialog2 之前创建#dialog1。谢谢

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
        <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> 
        <title>Testing</title>  
        <script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"></script> 
        <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" />
        <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
        <script src="http://tinymce.cachefly.net/4.0/tinymce.min.js"></script>
    </head>

    <body>
        <button id="click1">Click 1</button>
        <div id="dialog1" title="dialog1"><div id="tinymce"></div><button id="click2">Click 2</button></div>
        <div id="dialog2" title="dialog2">Hello</div>
    </body>

    <script>
        tinymce.init({selector: "#tinymce"});
        $(function() {
            $('#click2').click(function(){$("#dialog2").dialog("open");});
            $("#dialog2").dialog({autoOpen:false,resizable:false,height:300,width:240,modal:true});
            $("#click1").click(function(){$("#dialog1").dialog("open");});
            $("#dialog1").dialog({autoOpen: false,modal: true});    
        });
    </script>
</html> 

【问题讨论】:

标签: javascript jquery jquery-ui tinymce jquery-ui-dialog


【解决方案1】:

我认为这里的问题是您在打开另一个具有相同 ID 的编辑器实例之前没有关闭您的编辑器实例。使用 mceCommand mceRemoveControl 关闭此类编辑器实例。

【讨论】:

  • 我不确定。请注意,如果先创建#click1,则条件不存在。有关示例,请参见 jsbin.com/aliket/3
  • 另外,题外话,但我认为关闭实例比mceRemoveControl 更好。请参阅 tinymce.com/forum/viewtopic.php?id=31062 了解我如何尝试使用 TinyMCE 4,但使用 editor.remove() 而不是 editor.hide()
  • 好的,我仔细看看你的例子。您的问题与关闭编辑器无关。我一直没能找到问题,但我建议你向 moxiecode 提交错误报告:tinymce.com/develop/bugtracker_bugs.php。 Tinymce4 仍处于测试阶段,需要修复。
  • 谢谢塔里亚马。会的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-18
  • 2013-06-09
  • 2011-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多