我想创建一个测试函数来改变 '.'在文本框中将字符转换为 ',' 字符。我无法更改服务器端,因为它是 google doc。 “56.3”被视为数字,但“56,3”是 (!)。
假设我使用了下面的代码:
function changeValue(e) {
e = window.event || e;
var keyCode = e.charCode || e.keyCode;
if (String.fromCharCode(keyCode)==='.') {
event.target.value+=",";
return false;
}
return true;
}
function start_up () {
console.log('Start');
var tmp = document.getElementById('ss-form');
tmp = tmp.getElementsByTagName('input');
console.log(tmp);
for(var i=0; i<tmp.length; i++) {
tmp[i].addEventListener('keypress',changeValue, false);
console.log(i, tmp[i]);
}
};
window.addEventListener("load",start_up, false);
那么问题是 ',' 和 '.'被添加到字段中。我怎样才能取消'。'按下事件?我怎样才能替换'。'按下事件由','按下事件?
我已经在互联网上搜索过,但没有找到使用“addEventListener”函数的解决方案。
最佳答案
使用 e.preventDefault()
应该可以做到这一点。
我得到了一个 jsFiddle 演示:http://jsfiddle.net/yrYH4/
关于javascript - 通过处理函数(addEventListener 函数)取消按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7599202/