首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用setInterval轮询CLEDITOR的性能成本

使用setInterval轮询CLEDITOR的性能成本
EN

Stack Overflow用户
提问于 2011-03-09 04:59:57
回答 2查看 475关注 0票数 0

我正在使用CLEditor所见即所得,并试图解决访问iframe内容和统计字符的问题(我知道如何不限制WYSIWYG上的字符,但我需要显示用户输入了多少字符的文本表示(不管生成了多少实际的HTML )。通过使用setInterval()作为CLEditor更改的事件钩子,我能够获得字符计数。

我真正的问题是:

使用的是有损性能的setInterval(),还是应该使用另一种方法来轮询更改后的文本?

下面是我目前使用的方法:

代码语言:javascript
复制
       function checkChange(){
            $(document).ready(function() {
                var t = $("#edFrame").contents().find("body").text().length;

                $(".limitCounter").text(t);

            });
        }


        $(document).ready(function () {

            $(".wysiwyg").cleditor();


            setInterval('checkChange()', 50);


        });
EN

回答 2

Stack Overflow用户

发布于 2011-03-09 05:03:45

我知道你走错路了。您应该设置一个事件处理程序,在更改文本时触发事件。既然您使用的是jQuery,请看一看jQuery事件:http://api.jquery.com/category/events/。具体来说,请阅读.change()事件,因为我认为这是您想要使用的。将事件附加到对象(#edFrame),并指定激发该事件时要调用的函数。

您已经实现了一个繁忙的等待系统,它虽然工作,但远远不是最好的设计,将来可能会给您带来麻烦。

票数 1
EN

Stack Overflow用户

发布于 2015-07-02 10:20:33

在前面的评论之后,可以这样做:

代码语言:javascript
复制
$("#edFrame").cleditor().on('change', function () { 
   var t = $(this)[0].$area.val().length;
   $(".limitCounter").text(t)
});

请记住,显示的长度计算文本字符和格式标签。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5241550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档