我想在我的ASP.NET MVC 2应用程序中使用CKEditor作为注释字段,但无法使其工作。这就是我所拥有的:
我试图整合编辑器的textarea:
<div class="editor-field">
<%: Html.TextAreaFor(model => model.Comment, new { @class = "textarea", @id="Editor1" })%>
<%: Html.ValidationMessageFor(model => model.Comment) %>
</div>
头部中的脚本引用:
<asp:Content ID="Content3" ContentPlaceHolderID="head" runat="server">
<script src="../../Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="../../Scripts/ckeditor/ckeditor.js" type="text/javascript"></script>
<script src="../../Scripts/ckeditor/adapters/jquery.js" type="text/javascript"></script>
</asp:Content>
文档就绪功能:
<% using (Html.BeginForm())
{%>
<script type="text/javascript">
$(document).ready(function () {
$('#Editor1').ckeditor();
});
</script>
(等) 我不知道问题是否与TextareaFor辅助方法有关,我尝试将id设置为Editor1。我对MVC也很陌生,所以我猜这是怎么做的。
无论如何,它不起作用,我希望有任何关于我做错的建议。
答案 0 :(得分:1)
好的,我自己找到了答案。看来在同一页面上与另一个jQuery插件存在冲突,所以我需要使用jQuery.noConflict();然后在代码中使用jQuery而不是$。 noConflict的位置也很重要。请参阅此网页上的erhard评论:http://devoracles.com/jquery-error-documentready-is-not-a-function-sure
答案 1 :(得分:0)
首先检查$('#Editor1')
是否返回了您想要的元素。
alert($('#Editor1').length);
alert($('#Editor1')[0].id);
如果没有,请尝试使用类选择器,例如$('.ckeditor')