我正在使用TinyMCE编辑器(jQuery 包)。在同一页面中,我还使用了 jQuery UI 选项卡。我的问题是,如果我在页面加载后尝试呈现我的 jQuery 选项卡,我会收到错误消息g.split is not a function并且我的选项卡没有呈现。但是,如果我在页面加载时呈现标签,一切正常。看起来这个问题只有在 TinyMCE 对象被渲染后才会出现。
所以,这个问题让我抓狂。任何帮助都会非常受欢迎。
我制作了一个最小的 html 示例页面来重现该问题。如果单击该按钮,您将看到选项卡对象未呈现并且我收到错误消息。另一方面,正确呈现了 jQuery 按钮。所以,这个问题似乎只发生在我的 jQuery 选项卡对象上。
<html>
<head>
<title>test 1</title>
<link type="text/css" href="css/custom/jquery-ui.custom.css" rel="stylesheet"/>
<script type="text/javascript" src="js/jquery-min.js"></script>
<script type="text/javascript" src="js/jquery-ui-custom-min.js"></script>
<script type="text/javascript" src="js/tiny_mce/jquery.tinymce.js"></script>
<script type="text/javascript">
function render_my_jquery_ui_objects()
{
$("#my_button_1" ).button();
$("#my_tabs").tabs();
return true;
}
$().ready(function() {
$('#my_editor_1.tinymce').tinymce({
script_url : 'js/tiny_mce/tiny_mce.js',
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
content_css : "css/tinymce.css?" + new Date().getTime()
});
//render_my_jquery_ui_objects(); // if I call render_my_jquery_ui_objects() here, it will work fine. Both objects (button and tabs) will be rendered
});
</script>
</head>
<body onload=""> <!-- if I put render_my_jquery_ui_objects() in the onLoad event, it will also work fine -->
<button onclick="render_my_jquery_ui_objects();">Render my jQuery UI objects manually</button> <!-- if I click the button to call render_my_jquery_ui_objects(), only the jQuery button is rendered. The tabs are not rendered. This is my problem here. -->
<br/><br/>
<a href="#" id="my_button_1">Button 1 (jQuery)</a>
<br/><br/>
<div id="my_tabs">
<ul>
<li><a href="#tabs-1">My tab 1</a></li>
<li><a href="#tabs-2">My tab 2</a></li>
</ul>
<div id="tabs-1">
<p>Tab 1 content</p>
</div>
<div id="tabs-2">
<p>Tab 2 content</p>
</div>
</div>
<br/>
<textarea id="my_editor_1" name="my_editor_1" rows="10" cols="100" class="tinymce">
<b>text in bold</b><br>text normal
</textarea>
</body>
</html>