TinyMCE的和的fancybox互动错误

我试图将TinyMCE上显示我使用jQuery的fancybox一个textarea。 我使用TinyMCE的jQuery插件,tinyMCE的默认下载版和tinyMCE的的完全下载版本试图

我第一次打开窗体(形式通过的fancybox所示)一切都会按计划; 如果我取消了行动,并再次尝试打开该窗体,textarea的被禁止,但TinyMCE的控制仍显示,只有他们不工作。

这是我使用窗体的代码。 它是通过的fancybox所示:

<div id="add-task" class="form-container"> <form method="POST" action="/task-add"> <input type="hidden" name="project" id="add-task-id" value=""/></span> <div class="element"> <span class="label">Short description</span> <span class="field"><textarea name="sh_description" rows="5" cols="15"></textarea></span> </div> <div class="element"> <span class="label">Task description</span> <span class="field"><textarea name="description" rows="5" cols="15" id="htmlarea"></textarea></span> </div> </form> </div>

这是TinyMCE的初始化:

tinyMCE.init({ // General options theme : "simple", mode : "none", // Example content CSS (should be your site CSS) content_css : "/static/css/tinymce.css", // Drop lists for link/image/media/template dialogs template_external_list_url : "/static/js/tinymce/lists/template_list.js", external_link_list_url : "/static/js/tinymce/lists/link_list.js", external_image_list_url : "/static/js/tinymce/lists/image_list.js", media_external_list_url : "/static/js/tinymce/lists/media_list.js", // Style formats style_formats : [ {title : 'Bold text', inline : 'b'}, {title : 'Red text', inline : 'span', styles : {color : '#ff0000'}}, {title : 'Red header', block : 'h1', styles : {color : '#ff0000'}}, {title : 'Example 1', inline : 'span', classes : 'example1'}, {title : 'Example 2', inline : 'span', classes : 'example2'}, {title : 'Table styles'}, {title : 'Table row 1', selector : 'tr', classes : 'tablerow1'} ] });

并为启动的fancybox代码:

function mceAdd(){ tinyMCE.execCommand("mceAddControl", false, "htmlarea"); } function mceEnd(){ tinyMCE.execCommand("mceRemoveControl", false, "htmlarea"); } $(".taskAdd").fancybox({ 'titlePosition' : 'inside', 'transitionIn' : 'none', 'transitionOut' : 'none', 'onComplete' : mceAdd, 'onClosed' : mceEnd });

所有的JavaScript正一中运行$(document).ready()语句。

我已经经历了很多的计算器上读出的问题,我还没有发现,我的解决方案。 在当前状态下,我收到了“ Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIDOMHTMLDocument.implementation]mceEnd()函数被调用。

我得到一个错误的歌剧,以及在Firefox浏览器。 如果任何人有我做错了任何想法,他们将不胜感激。

更新:

试图Thariama的功能,结果如下:如果我不从的fancybox使用任何(打开并关闭它)我得到一个“ Component returned failure code: 0x8000ffff (NS_ERROR_UNEXPECTED) [nsIDOMHTMLDocument.implementation]的错误,但如果我尝试改变区域(比如,选择大胆的函数,然后关闭该对话框的fancybox)我得到一个“ j is null ”的错误

使用版本:3.4.7 TinyMCE的,jQuery的1.3.4的fancybox和jQuery 1.7.1

--------------解决方案-------------

你描述听起来像编辑器实例不能正确关闭。 这就是为什么TinyMCE的没有得到初始化打开窗体第二次的原因。 你可以试试这个代码的内部mceEnd()函数,告诉我们发生了什么

for (var i = 0; i < tinymce.editors.length; i++) {
tinyMCE.execCommand("mceRemoveControl", false, tinymce.editors[i].id);
}

编辑:解决办法的办法:我建议你尝试以下,并告诉我,如果没有什么帮助。 这应该使您能够打开窗体第二次,但不会消除对JS错误mceEnd()

// global variable in script on top of the page
var editor_count = 0;

function mceAdd(){
document.getElementById('htmlarea').setAttribute('id', 'htmlarea'+editor_count);
tinyMCE.execCommand("mceAddControl", false, 'htmlarea'+editor_count);
}

function mceEnd(){
editor_count++;
// will throw js-error but hopefully this won't hinder us to reinitialize a second form
tinyMCE.execCommand("mceRemoveControl", false, "htmlarea"+(editor_count-1) );
}

分类:JavaScript的 时间:2012-01-01 人气:0
分享到:

相关文章

  • 在JavaScript中获取textarea的价值 2012-02-29

    IAM的使用TinyMCE的编辑器来创建一些content.I使用的textarea获取TinyMCE的编辑器. 对于edting我已经使用这个代码 <textarea id="page_content_id" name="page_content"><?php echo $page_content;?></textarea> 因此,保存的值将是微小的MCE editor.If我添加了一些编辑如何,我可以用得到的JavaScrip

  • 有没有一种方法来检测,我是从JavaScript中硒webdriver的页面 2013-07-03

    我想压抑在我的测试中TinyMCE的初始化和可以做到这一点很容易,如果JavaScript可以检测到我是一个硒自动化页面内运行. 所以,有一些JS代码,我可以用它来检测硒驱动程序? 另外,我怎么能延长的userAgent字符串,包括我能够检测从JS的模式? 如果它真的很重要,我通过黄瓜和水豚在Mac OS X上运行此 --------------解决方案------------- 由于这个问题提到水豚,这里是用Ruby的等效代码: profile = Selenium::WebDriver::F

  • Javascript和jQuery的(的fancybox)问题 2014-06-07

    Javascript和jQuery的(的fancybox)问题 我使用的JavaScript函数下面的Twitter共享(以及其他服务;功能代码就被简化为Twitter的这个问题),抓住了要被共享页面URL和标题,它是在与调用链接的onclick. 这导致在Twitter分享页面加载在一个弹出浏览器窗口,即<img src="/images/twitter_16.png" onclick="share.tw()" /> 为了与现场的其他方面的设计,希望我

  • 什么可能导致内存损坏在JavaScript中? 2014-07-28

    我开发,它使用TinyMCE的编辑,以允许用户修改内容的应用程序. 我公司开发的的Prototype.js类,在初始化时,会生成一个唯一的ID,并创建一个TinyMCE的编辑器<div>与该ID. 下面是一些相关的代码: Region = Class.create( { initialize: function(options) { this._editorReady = false; this._index = Region.nextIndex++; this._uid = com.digi

  • 在Javascript中,我怎么告诉用户是否按下两个键在同一时间? 2012-01-02

    在Javascript中,我怎么告诉用户是否按下两个键在同一时间? 例如,我已经绘制在屏幕的中间的圆. 我希望在用户按住向上箭头,右,而用户按住右箭头键来移动它. 这部分工作很容易. 如果用户持有两个向上和向右的箭头,我想移动圆斜,向上和向右. 它看起来并不像这可能与基本的JavaScript事件处理,但肯定有人想出了一个变通/黑客/改进. --------------解决方案------------- 以下是你需要做的概念(我猜这就是所谓的伪代码): 开始是这样的: var PIXEL_DEL

  • Rails和Javascript中是格式化时间 - 跨语言,避免重复码 2012-01-05

    我有一个观点,即需要一个Ruby的日期,就可以进行一些格式输出仅仅是时间,格式为[5:30]. 然后,默认情况下,它增加了30分钟,这让结果是类似以下的输出: 5:30 PM - 6:00 PM 而在HAML文件中的代码如下所示: =format_time( @time ) + " - " + format_time( Time.parse( @time ).advance( :minutes => 30 ) ) 其中,format_time是我创建了一个方法. 但随后,用户可以

  • 最佳实践在JavaScript中暂停 2012-01-08

    什么是JavaScript中暂停的最佳途径. 我曾尝试之前使用的setTimeout()函数,但我真的糊涂了它是如何工作的. --------------解决方案------------- var pauseTime = 1000; //this is in milliseconds setTimeout(runThisFunction,pauseTime); function runThisFunction(){ alert("i waited a second to run!");

  • 我怎么能知道一个JSF组件的ID,所以我可以在JavaScript中使用 2012-01-08

    问题:有时你会想从JavaScript访问组件用getElementById ,但ID是在JSF动态生成的,所以你需要得到一个对象ID的方法. 下面我回答你如何能做到这一点. 原题:我想使用一些代码,如下图所示. 我如何可以引用我的JavaScript中的inputText JSF组件? <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns

  • 什么样的算法,使得曲线是这样的(IMG)可以在JavaScript中的海军报做些什么呢? 2012-01-08

    你可以给我一个算法的例子吗? 编辑:然后我将如何计算使用JavaScript的数学? 有人可以添加? 对不起,没有包括这方面最初.. 注:我使用的"海军报"绘制图形,并输入了海军报是一个JavaScript数组是这样的: [[X,Y],[X,Y],[X,Y] ...] 因此,考虑到改变曲线I输出全部指向数组与循环,吐出来FLOT绘制图形的值. --------------解决方案------------- 一个典型的S形曲线是正切(x)的曲线. 根据定义, tanh(x) = sinh

  • 怎么可能一个C#程序员的方式写在JavaScript中的解决方案? 2012-01-08

    更新:也许这是不是从我原来的职位清楚,但我主要是想知道如何构建的JavaScript代码,而构建一个解决方案,而不是简单地学习如何使用的API(虽然那肯定是很重要)的最佳实践. 我需要将功能添加到一个网站,我们的团队已经决定使用接近接收来自一个JSON格式的AJAX请求调用从Web站点内的Web服务的解决方案. Web服务已创建伟大工程. 现在,我一直在负责编写解决方案中的JavaScript / HTML端. 如果我解决在 C#这个问题,我会创建单独的类来格式化请求,处理Ajax请求/响应,解

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.342 (s). 10 q(s)