这是可能的编写自己的热键内容可编辑的HTML Jquery
Is this possible to write own hotkey for content editable in HTML Jquery?
实际上,如果我们在content edit中使用Ctrl+B
,它将创建一个标签
<b>Content goes here... </b> like this.
我们可以添加自己的热键吗?例如
Ctrl + T
<a class="tamil">Content goes here...</a>
Ctrl + E
<a class="tamil">Content goes here...</a>
请帮忙解决这个问题,提前谢谢。
使用jQuery非常简单:
你可以添加keydown-EventListener到每个contentitable元素(或div,任何适合你的目的),在那里你甚至可以消除标准的浏览器行为:
$('[contenteditable=true]').keydown(function(e){
if(e.ctrlKey && e.keyCode == 70){
e.preventDefault();
$('#result').append('CTRL + F registered. ');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div contenteditable=true>
<p>Some text in here</p>
</div>
<p id="result"></p>
这个事件监听器只会在contentitable元素被聚焦时触发,所以如果它没有被聚焦,你的组合键的标准浏览器功能仍然会被触发。
已测试chrome, firefox和ie的最新版本
下面是使用ctrl+q
的完整工作代码$(document).keyup(function(e){
if(e.ctrlKey && e.keyCode == 81){
var selection= window.getSelection().getRangeAt(0);
var selectedText = selection.extractContents();
var anc= document.createElement("a");
anc.setAttribute('id','tamil');
anc.appendChild(selectedText);
selection.insertNode(anc);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Here is a text to work with.
相关文章:
- 编辑HTML表的源数据
- 使用JQuery或Javascript编辑HTML注释文本
- 单击即可编辑HTML文本
- 如何在使用 UIWebView 编辑 HTML 内容时正确调整输入语言更改 (LTR/RTL) 的文本对齐方式
- 如何设置元素的占位符文本 我无法编辑 HTML 并且 ID 正在更改
- 使用Javascript编辑HTML表并将更改捕获为POST
- 在inspect元素上编辑HTML时刷新Chrome DOM
- 如何通过Javascript编辑HTML中日期输入的值
- 使用 javascript 编辑 HTML 列表条目
- 使用 Javascript 或所见即所得打开和编辑 html 页面的片段
- 将编辑html文件保存到特定文件夹
- 如何通过将值传递给输入类型来编辑 html 表值
- 无法使用 JavaScript 编辑 html 表
- 使用 Laravel 编辑 HTML 表中数据的任何建议/示例
- 相对于另一个 css 元素定位一个元素,而不编辑 html
- 使用 JavaScript 编辑 HTML 中的每一行
- 使用 javascript 编辑 HTML:插入 而不是
作为换行符 - 制作一个Web应用程序,允许用户编辑html模板并将这些模板保存在服务器上
- 尝试在不编辑 HTML 代码的情况下更改按钮的文本
- 如何用javascript编程编辑HTML格式的文本,而不需要手动处理标记和HTML