我正在使用TinyMCE编辑器(jQuery包)。在同一页面中,我还使用了jQuery UI选项卡。我的问题是,如果我尝试渲染我的jQuery选项卡 AFTER 页面加载,我收到错误消息 g.split不是函数,我的标签是没有呈现。但是,如果我在页面加载时渲染选项卡,一切正常。看起来只有在呈现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>