JavaScript <textarea> 在使用 NicEdit 时无法滚动上下文



我是一个新手程序员,所以我很难让它工作。

我有一个 javascript,可以在单击按钮时将 <textarea> 标签的内容滚动到底部,但是当我在其中添加 NicEdit 插件时,脚本不起作用。

我已经尝试了所有通过创建外部div 和包装器使其工作的其他方法,但我确信它是 NicEdit 的组成部分。

没有 NicEdit 的工作脚本:http://jsfiddle.net/gab4qhc1

与 NicEdit: http://jsfiddle.net/sgdLzjau 一起不起作用的脚本

请帮助我使脚本与nicedit一起使用。

谢谢

首先,我建议您使用 CKEditorTinyMCE nicEdit因为它不在积极开发中(http://nicedit.com/docs.php)。

让我们来解决问题,控制台bkLib.domLoad[i] is not a function中出现错误(我不知道bkLib是什么),所以我所做的是,我删除了该功能并删除了JS代码

nicEditors.allTextAreas({buttonList : ['fontSize','bold','italic','underline','strikeThrough','subscript','superscript']});

从 HTML 文件并添加到脚本文件中(我认为如果可能的话,最好将 JS 和 HTML 代码分开),如下所示

.HTML

<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.0.js"></script>
<script src="http://js.nicedit.com/nicEdit-latest.js" type="text/javascript"></script>
<textarea id="textarea" cols=30 rows=5 >
    Please presse enter Please presse enterPlease presse enter
    Please presse enterPlease presse enterPlease presse enter
    Please presse enterPlease presseenter
    Please presse enterPlease presse enter
    Please presse enter
</textarea>
<button id="button">click</button>

脚本

$(document).ready(function(){
    nicEditors.allTextAreas({buttonList : ['fontSize','bold','italic','underline','strikeThrough','subscript','superscript']});
    $("#button").click(function(){
        var textArea = $('.nicEdit-main');/*replace #textarea with .nicEdit-main*/
        textArea.scrollTop( textArea[0].scrollHeight - textArea.height()   );
    });  
});

(不需要修改CSS)

为什么#textarea选择器不工作而.nicEdit-main工作

因此,这背后的原因是每个基于HTML的文本编辑器都使用自己的包装器而不是textarea,以使其更具可定制性,例如应用bolditalic效果,并且nicEdit他们使用带有类nicEdit-maindiv

我希望这能帮助您解决问题。快乐编码... :)

最新更新