我目前正在开发一个文本到符号的转换工具(非营利性),我遇到了这个问题:
对于WYSIWYG编辑的文本,我想使用一个漂亮的小wysiwyg编辑器(如jHtmlArea)。这个编辑器将显示浮动div,所以我将不得不截取很多按键(空格/箭头/等)
目前,我的html区域加载如下:
<script type="text/javascript">
$(function() {
$("#txtCustomHtmlArea").htmlarea({
loaded: function() {
$(this.editor).keydown(function(event) {
if(event.keyCode == 32) {
this.pasteHTML('<b>test</b>');
return false;
}
return true;
});
}
此代码的问题在于this.editor没有pasteHTML方法。我如何使用此方法(= htmlarea).event?
这很可能是一个相当初学的问题,但我真的对于在哪里看起来毫无头绪。
谢谢
答案 0 :(得分:1)
我是这样做的:
$("#my-text-area").htmlarea({
loaded: function () {
$.myControl = { jhtmlarea: this };
}
});
然后我可以参考:
$($.myControl.jhtmlarea.editor.body).keypress(function (e) { });
这也让我可以从iFrame外面找到我的html区域对象。
答案 1 :(得分:0)
我认为你可能会对使用'this'感到困惑(我肯定很难跟踪它的含义!)。
作为测试,您可以替换
this.pasteHTML(...)
与
$("#txtCustomHtmlArea").pasteHTML(...)
或者
$("#txtCustomHtmlArea").editor.pasteHTML(...)
看看是否有帮助?