我面临的一个主要问题是浏览器处理ENTER键击(换行符)的方式不一致. Chrome插入< div>,firefox插入< br>和IE插入< p>.我正在看看TinyMCE,它有一个名为forced_root_block的配置选项.将forced_root_block设置为div实际上适用于所有主要浏览器.有人知道TinyMCE中的forced_root_block选项如何能够跨浏览器实现吗?
解决方法 在tinymce源(/tiny_mce/classs/dom/DomParser.Js)中,您将找到以下内容:rootBlockname = "forced_root_block" in args ? args.forced_root_block : settings.forced_root_block; whiteSpaceElements = schema.getWhiteSpaceElements(); startWhiteSpaceRegExp = /^[ \t\r\n]+/; enDWhiteSpaceRegExp = /[ \t\r\n]+$/; allWhiteSpaceRegExp = /[ \t\r\n]+/g; function addRootBlocks() { var node = rootNode.firstChild,next,rootBlockNode; while (node) { next = node.next; if (node.type == 3 || (node.type == 1 && node.name !== 'p' && !blockElements[node.name] && !node.attr('data-mce-type'))) { if (!rootBlockNode) { // Create a new root block element rootBlockNode = createNode(rootBlockname,1); rootNode.insert(rootBlockNode,node); rootBlockNode.append(node); } else rootBlockNode.append(node); } else { rootBlockNode = null; } node = next; }; };
这显然需要创建根块元素.我99%确定tinymce处理’ENTER’键击本身并停止传播/默认浏览器命令.
总结以上是内存溢出为你收集整理的TinyMCE中的forced_root_block选项全部内容,希望文章能够帮你解决TinyMCE中的forced_root_block选项所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)