我想创建一个改变'。'的测试函数。 charachter在文本框中输入','字符。我不能改变服务器端,因为它是谷歌文档。 '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”函数的解决方案。
答案 0 :(得分:3)
使用e.preventDefault()
应该这样做。
今天jsFiddle表现得很慢,但我终于把演示放在了一起:http://jsfiddle.net/yrYH4/
答案 1 :(得分:0)
可能是因为你从事件处理程序返回true。
您可以使用event.preventDefault
或return false
来防止执行默认操作 - 您从处理程序的内部if语句返回false,然后从main函数返回true。