javascript - 通过处理函数(addEventListener 函数)取消按键事件

标签 javascript dom

我想创建一个测试函数来改变 '.'在文本框中将字符转换为 ',' 字符。我无法更改服务器端,因为它是 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/

相关文章:

javascript - 在 HTML 表格中显示选定行/单元格的 X 和 Y 值

javascript - 使用javascript将DOM保存为文件中的xml

javascript - 如何用当前光标位置处单击的元素替换字符?

javascript - 如何检查子对象中是否包含 id?

javascript - node.appendChild 在 <= IE9 中的行为不符合预期(尚未检查 10)

javascript - 如何在 jquery 中将某些内容附加到具有唯一 id 但通用类的元素中?

javascript - 查找并打印网页大小(以字节为单位)以及所有 <a> 标签的数量

javascript - Angular获取动态生成的html元素的值

javascript - 循环应该创建 10 个段落并插入文本,但文本只出现在一个中

javascript - 使用内置 DOM 方法或 Prototype 从 HTML 字符串创建新的 DOM 元素