0

我在分析一个别人做的软件,叫做Editarea。该软件是用 Javascript 制作的,它会在您键入时逐步为单词着色。这对我来说是这个软件最有用的功能,因为我必须制作一个实时着色文字的编辑器。问题是我无法理解“如何”这个任务是由editarea的 javascript 编辑器完成的。

是否可以在不实际使用 onkeypress 或 onkeydown 事件的情况下在 javascript 中执行文本的实时颜色?或者,更具体地说,是否可以通过选择具有选择对象或范围对象的部分文本来执行它,具体取决于用户使用的浏览器?

我在徘徊,因为无法使用调试器(脚本全部包含在原始版本的字符串中)所以很难理解我正在修改的脚本在哪里改变了文本的颜色。所以我只是询问是否真的只能使用选择对象来完成,或者您绝对需要 onkeypress 或 onkeydown 事件来执行任务。

谢谢大家的回答。

艾格妮丝

4

1 回答 1

1

我没有时间深入研究他们的代码,但是,我可以给你一个关于在哪里看的线索。

当代码运行时,在“edit_area_full.js”文件的底部,有一个以文字字符串形式被评估的代码混淆区域。使用这段代码并寻找 JQuery 或原始 Javascript 使用此 DOM 元素的任何地方。我敢打赌,当这段代码在 body 'onload' 事件期间运行时,会动态添加一个事件处理程序。

于 2013-09-09T13:40:09.740 回答