TinyMCE:禁用/启用javascript编辑
如何禁用/启用在javascript中编辑tinymce文本区域 我想我的部件有问题。我在互联网上找到的所有解决方案对我来说都不起作用 控制器代码为:TinyMCE:禁用/启用javascript编辑,tinymce,Tinymce,如何禁用/启用在javascript中编辑tinymce文本区域 我想我的部件有问题。我在互联网上找到的所有解决方案对我来说都不起作用 控制器代码为: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace #####.Controllers { public class PruebaController :
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace #####.Controllers
{
public class PruebaController : Controller
{
// GET: Prueba
public ActionResult Index()
{
return View();
}
}
}
查看代码为:
<textarea class="mceEditor" id="Cabecera_contratos_tinymce" name="content">sakjdgfaskdjgfdgjsdjsquoagsd</textarea>
<script>
tinymce.init({
mode : "exact",
elements: "Cabecera_contratos_tinymce",
theme: "modern",
entity_encoding: "raw",
width: "100%",
plugins: [
"link paste code",
"preview",
"searchreplace wordcount visualblocks visualchars fullscreen insertdatetime nonbreaking",
"table contextmenu directionality"
],
extended_valid_elements: "img[*],i[*],div[*]",
paste_word_valid_elements: "b,strong,i,em,h1,h2,a[href|name|target],p",
relative_urls: false,
toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link | preview fullscreen code" //| forecolor backcolor emoticons
});
debugger;
var theEditor = tinymce.get('Cabecera_contratos_tinymce');
//At this point theEditor=null. So the next instruction throws an exception
var theContent = theEditor.getContent();
$('#Cabecera_contratos_tinymce').attr("disabled", true);
</script>
sakjdgfaskdjgfdgjsdqouagsd
tinymce.init({
模式:“精确”,
元素:“Cabecera_contratos_tinymce”,
主题:“现代”,
实体_编码:“原始”,
宽度:“100%”,
插件:[
“链接粘贴代码”,
“预览”,
“searchreplace wordcount visualblocks visualchars全屏插入日期时间非中断”,
“表上下文菜单方向性”
],
扩展的有效元素:“img[*]、i[*]、div[*]”,
粘贴单词有效元素:“b,strong,i,em,h1,h2,a[href | name | target],p”,
相对URL:false,
工具栏:“insertfile undo redo | styleselect |粗体斜体|对齐左对齐中心对齐右对齐对齐对齐| bullist numlist outdent缩进|链接|预览全屏代码”//|前景色背景色表情
});
调试器;
var theEditor=tinymce.get('Cabecera_contratos_tinymce');
//此时,编辑器=null。因此,下一条指令抛出一个异常
var theContent=theEditor.getContent();
$('Cabecera_contatos_tinymce').attr(“disabled”,true);
在视图的布局中,将加载以下脚本:
<script src="/Scripts/kendo/2015.2.902/jquery.min.js"></script><style type="text/css"></style>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js"></script>
<script src="/Scripts/kendo/2015.2.902/jszip.min.js"></script>
<script src="/Scripts/kendo/2015.2.902/kendo.all.min.js"></script>
<script src="/Scripts/kendo/2015.2.902/kendo.aspnetmvc.min.js"></script>
<script src="/Scripts/kendo.modernizr.custom.js"></script>
<script src="/Scripts/kendo/kendo.culture.es-ES.min.js"></script>
<script src="/Scripts/jquery.maskedinput.min.js"></script>
<link href="/Content/bootstrap.min.css" rel="stylesheet">
<script src="/Scripts/bootstrap.min.js"></script>
<script src="/Scripts/jquery.cookie.js"></script>
<link href="/Content/hover-min.css" rel="stylesheet">
<script src="/Scripts/sindi.js"></script>
<script src="//tinymce.cachefly.net/4.1/tinymce.min.js"></script>
<script type="text/javascript">
//set current to the "en-GB" culture script
kendo.culture("es-ES");
</script>
//将当前设置为“en GB”区域性脚本
剑道文化;
控件正确渲染并按预期工作。然而,如果我无法检索它,我不知道如何禁用它。这张图片显示了我这边的渲染。如您所见,组件显示正确(也正常工作),但我无法检索它:
到目前为止,我试过:
- 按此处推荐的方式获取activeeditor:
ActiveEditor为空:- 尽管存在editors,但仍按此处建议在编辑器上迭代。lenght=3(奇怪,我只有一个文本区域),editor[0]=null,editor=null,editor[2]=null:
- 隐藏文本区域,如此处建议的,文本区域始终可见并启用
- 无论我设置了什么属性,都可以直接访问$(“#Cabecera_contratos_tinymce”)>。它没有效果
这将使用上面包含的大部分代码,并且可以在
disableAll()
方法中成功访问编辑器。由于您没有显示所有的代码,很难说问题出在哪里,但fiddle可以工作并将有关编辑器的信息返回到JavaScript控制台。我终于找到了问题所在
尽管我的代码是在tinymce.init之后声明的,但它是在tinymce.init结束之前执行的
因此,对我这种情况下的任何人来说,解决方案都是:
tinymce.EditorManager.execCommand('mceRemoveEditor',true,textarea_id)代码>
tinymce.EditorManager.execCommand('mceAddEditor',true,textarea\u id)代码>
谢谢你的帮助。稍后我会检查它。我无法在我的代码中实现示例的行为。我已经更新了我的问题,包括所有涉及的代码。也许bootstrap或剑道干扰了tinymce脚本?