作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,几乎所有内容都在标题中:除了将文本加粗、斜体或下划线之外,还有其他快捷方式可以执行其他操作吗?或者任何允许这样做的插件?
据我的一位同事说,源代码似乎不包含这些东西,但也许我们错过了什么?
最佳答案
Etherpad 包含一个名为 ACE2(最初是 AppJet 代码编辑器)的嵌入式富文本编辑器,它似乎负责键盘快捷键处理。ace.js
默认嵌入的文件曾经被缩小,因此在旧版本的 Etherpad 中很难读取,但您可以直接在 infrastructure/ace
中读取原始源文件。 part of the source code ,从中产生缩小版本。有关更多信息,请查看 ACE2's README .
更新的版本(至少是 etherpad.org 的)似乎包含了普通的 ACE2 JS 源。
键盘快捷键处理代码位于 ace2_inner.js
,内 handleKeyEvent()
功能。基于此,开箱即用支持的键盘快捷键如下(在浏览器的快捷键(如剪切/复制/粘贴)之上):
ace2.js
如果需要,缩小版本(根据
README 中的说明)。
ace2_inner.js
中插入以下代码片段在处理其他快捷方式的类似块之间,在第 3200 行附近:
/* Ctrl+S toggles striketrough, and prevents triggering the browser's Save dialog */
if ((!specialHandled) && isTypeForCmdKey &&
String.fromCharCode(which).toLowerCase() == "s" &&
(evt.metaKey || evt.ctrlKey)) {
// ctrl/cmd-s (strikethrough toggle)
fastIncorp(13); // don't ask me ;-)
evt.preventDefault();
toggleAttributeOnSelection('strikethrough');
specialHandled = true;
}
if ((!specialHandled) && isTypeForCmdKey &&
String.fromCharCode(which).toLowerCase() == "l" &&
(evt.ctrlKey)) {
// ctrl/cmd-L (bullet list toggle)
fastIncorp(9); // seriously, don't ask me ;-)
evt.preventDefault();
doInsertUnorderedList();
specialHandled = true;
}
handleKeyEvent()
的缩小版本内
ace.js
:
if ((!Cp)&&Cu&&String.fromCharCode(Ct).toLowerCase()=="s"&&(i.metaKey || i.ctrlKey)){G(13);\\ni.preventDefault();c("strikethrough");Cp=true;}if((!Cp)&&Cu&&String.fromCharCode(Ct).toLowerCase()=="l"&&(i.metaKey||i.ctrlKey)){G(9);\\ni.preventDefault();As();Cp=true;}
handleKeyEvent()
功能。作为 Hook 编辑器的起点,请尝试检查
window.pad*
对象,例如
window.padeditor
.例如,在编辑器中选择一些文本并在控制台中尝试以下操作:
> window.padeditor.ace.execCommand('bold')
> window.padeditor.ace.execCommand('insertunorderedlist')
关于keyboard-shortcuts - 在 Etherpad 中,除了粗体、斜体和下划线(罢工、项目符号……)之外,还有其他操作的快捷方式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10698889/
下面是我用来制作 1px 文本描边轮廓的代码。但是如何使轮廓变粗呢?如果我只是用“5px”替换所有“1px”,结果看起来很疯狂。 HTML Hello! CSS .element { color:
我是一名优秀的程序员,十分优秀!