我有一个问题与nicEdit脚本。nicEdit是一个javascript库,用于将网页的html文本区域设置为富文本格式字段。
它工作得很好,除了不检测当我键入'空格'字符。我用谷歌搜索了一下,没有找到任何线索。我做了应该做的事情来调用js函数:
<script type="text/javascript" src="http://js.nicedit.com/nicEdit-latest.js"></script>
<script type="text/javascript">
bkLib.onDomLoaded(function() { nicEditors.allTextAreas({maxHeight:75}) });
</script>
是否有人有相同或类似的问题,或知道如何解决这个问题?
edit:我在Google-Chrome和Internet Explorer中测试了它,错误仍然存在。
非常感谢您的时间!:)
我有同样的问题,并解决它如下:
问题: 'space'未在nicEdit字段中注册
trackdown:实际的问题是一个jquery ui特性(在这个例子中是accordion)已经为编辑器父级注册了'keydown'事件。这可以防止'keypress'事件传播到编辑器注册的'keypress'事件处理程序。我没有深入研究为什么只有"空格"键没有传播。
解决方案:我从编辑器父级删除了'keydown'事件。在我的例子中,它需要下面的代码片段:
$(".accBar,.accContent").unbind('keydown');
希望对大家有所帮助。
未解决但猜到原因问题:
我做了一个简单的html文档,只有一个textarea
和问题的javascript调用,工作得很好。
所以显然不是配置问题,是某种冲突与其他javascript库我正在使用(JQuery和jstree)。这就是我在谷歌上找不到它的原因。
我的解决方案是将nicEdit更改为jWYSIWYG,一个基于jquery的RTF,现在一切正常。
是否使用CSS重置?这就是我的问题——底线。重置设置了一些东西,特别是围绕"空白:正常"的设置,这使富文本编辑器变得混乱。主要只在windows上,所以mac上的Firefox可以正常工作,但windows上的Firefox将无法生成空格字符。
这个问题很可能是jsTree热键插件拦截空格并调用"preventDefault"。看这里的问题:
https://github.com/vakata/jstree/issues/363删除热键插件或注释掉jtree中的空格热键应该可以解决问题。