更改默认键操作JavaScript
Change default key action JavaScript
可能重复:
如何用jQuery替换击键?
有没有一种方法可以更改JavaScript中按键的默认字符。就像有人按下"E"按钮,它会打印出一个p,这是实时的,就像它被输入到文本区域一样。不管怎样,用jQuery或类似的东西来做这个?Thnaks!
以下是一个基于以下答案的工作解决方案的完整示例:
jQuery.fn.extend({
insertAtCaret: function(myValue) {
return this.each(function(i) {
if (document.selection) {
//For browsers like Internet Explorer
this.focus();
sel = document.selection.createRange();
sel.text = myValue;
this.focus();
}
else if (this.selectionStart || this.selectionStart == '0') {
//For browsers like Firefox and Webkit based
var startPos = this.selectionStart;
var endPos = this.selectionEnd;
var scrollTop = this.scrollTop;
this.value = this.value.substring(0, startPos) + myValue + this.value.substring(endPos, this.value.length);
this.focus();
this.selectionStart = startPos + myValue.length;
this.selectionEnd = startPos + myValue.length;
this.scrollTop = scrollTop;
} else {
this.value += myValue;
this.focus();
}
})
}
});
$(function() {
var ta = $('<textarea id="ta" style="width: 400px; height: 200px;"></textarea>').appendTo('body');
ta.keypress(function(e) {
if (e.which == 101) // e
{
e.preventDefault();
ta.insertAtCaret('P');
}
});
});
查看此添加键盘快捷键的框架。
http://www.openjs.com/scripts/events/keyboard_shortcuts/
当然,它不会自动将任何按键转换为另一个字符并输出该字符,你必须弄清楚页面的哪个部分有焦点,例如文本字段,并用你真正想要输入的字符修改它的值。
相关文章:
- 操作javascript变量[HTML]以只显示文本
- 如何使用keyup或input进行操作?javascript(jQuery)
- RubyonRails环境控制器操作JavaScript响应
- 在替换之前,操作javascript正则表达式匹配,例如$1
- 每次 iframe 重新导航时执行操作.(JavaScript)
- 使用下划线操作 JavaScript 对象
- 如何阻止 confirm() 的默认操作 JavaScript
- 结束游戏的逻辑操作 Javascript
- 操作 JavaScript 日期对象
- CSS 样式操作:Javascript 不起作用
- 镜像/复制鼠标操作 JavaScript
- 使用Java操作JavaScript
- 操作JavaScript数组
- 循环遍历无序列表并对每个节点执行操作Javascript
- 操作Javascript数据在D3.js上切换系列
- 如何通过在检查器中操作Javascript来抓取表?页面仅显示当前日期's的数据,但我想回到过去,重新收集
- 从java操作Javascript对象
- 更改默认键操作JavaScript
- 使用Jquery $.each()操作Javascript对象
- 是否有一种方法可以使用JS或jQuery来操作JavaScript表单