添加使用现有功能的按键事件
Adding keypress Events that use an existing function
我使用了一个在点击事件时激活的函数。我想使用按键事件来做同样的事情。
function addToText(target) {
var exp = target.target;
//alert(exp.value);
if (newExp) {
//clearText();
document.getElementById("expression").value = exp.value;
newExp=false;
}
else
document.getElementById("expression").value = document.getElementById("expression").value + exp.value;
}
这是所使用的函数。我如何修改它以用于按键事件。目前,它最初不起作用(对于按键事件)。但单击一次后,任何按键都会返回与上次单击相同的数字。
此处为完整代码:http://codepen.io/jpninanjohn/pen/JXVpYb?editors=1010
这是您的最终解决方案,我测试charcode是否在48到57之间,这意味着数字在0到9之间。
document.addEventListener('keypress', function(e){
if (e.which >= 48 && e.which <= 57)
document.getElementById("expression").value+= String.fromCharCode(e.which);
});
您可以使用此函数-
window.onkeyup = function(e) {
var key = e.keyCode ? e.keyCode : e.which;
document.getElementById("expression").value += key-48; //for getting the number
alert(key);
if (key == 38) {
//whatever
}else if (key == 40) {
// whatever
}
}
源
您需要在=中添加+
document.getElementById("expression").value+=
而不是-
document.getElementById("expression").value=
您必须为keyPress事件添加一个不同的函数,因为keyPress事件获得的按键值不同,而不是target.target
function addToTextKeypress(event) {
var exp = String.fromCharCode(event.keyCode);
//alert(exp);
if (newExp) {
//clearText();
document.getElementById("expression").value = exp;
newExp=false;
}
else
document.getElementById("expression").value = document.getElementById("expression").value + exp;
}
稍后您需要删除exp.value,因为它具有直接值
相关文章:
- 添加使用现有功能的按键事件
- 使用具有相同功能的多个事件
- 使用ExtJS捕获功能键事件(F1-F12)
- 向现有事件侦听器添加功能
- 防止两个默认功能发生,并同时触发第三个事件
- 将事件处理程序放在HTML按钮上,而不覆盖其默认功能
- 如何在链接上附加onclick事件以使用javascript功能
- 运行多事件功能的更简洁的方式
- 项目点击和收听事件功能 煎茶触摸 2 列表
- 一个 PHP 文件中有两个事件功能
- 主干.js内部触发事件功能.它是如何优化的
- jQuery解绑点击事件功能,并根据情况重新附加
- 浏览器如何读取JavaScripts,它应该排在第一位(设置在顶部):事件?功能?或子函数
- iPhone谷歌图像搜索触摸事件功能是如何工作的
- jQuery UI可以'无法在事件功能之外获取所选选项卡
- jQuery UI事件功能扩展
- 设置并清除'点击'事件功能,不清除其他事件
- 发送额外的参数在谷歌地图事件功能
- 使用角度门架时,阻止事件/功能启动
- 为什么clearInterval不能在窗口模糊和焦点事件功能中工作