我参考下面的例子,
例如,如果单击textarea内的任何位置,如果单击按钮,它将获得按钮值并设置为单击鼠标的textarea。
我的问题:
如果我在textarea下面使用,当我点击按钮时,输入值设置到鼠标点击的textarea。
<div id="100000000">
<input id="insertPattern" type="button" value="insert pattern" />
<textarea class="ckeditor" id="aboutme">insert some text into this string</textarea>
</div>
但是如果我在Html.TextArea下使用,如果我点击按钮,输入值永远不会设置为鼠标点击的Html.Textarea。
<div id="100000000">
<input id="insertPattern" type="button" value="insert pattern" />
@Html.TextArea("editor", new { @class = "ckeditor", @id = "aboutme" })
</div>
为什么它适用于textarea而不适用于按钮点击时的Html.TextArea?
我到底错过了什么?
任何帮助将不胜感激。
感谢。
答案 0 :(得分:1)
在构造TextArea(或任何表单元素)时,您不应该使用@id
。只需使用id = "aboutme"
。
答案 1 :(得分:1)
如果您使用的是CKEDITOR,则必须像这样设置文本区域的值。
CKEDITOR.instances['#aboutme'].setData('insert some text into this string');
答案 2 :(得分:0)
编辑器在显示动画的容器内(模态,动画......)时出现此问题
所以,我解决了这样的问题:
var _objEditor = null;
function show_editor_control(){
$("#main_container").show('slide', {direction: 'left'}, 300);
setTimeout(initialize_editor,300);
}
function initialize_editor(){
if(_objEditor!=null) {_objEditor.destroy();};
CKEDITOR.replace('textarea_id');
_objEditor =CKEDITOR.instances["textarea_id"];
}
现在,它有效......