1. 默认行为

A 标签默认先执行 click 事件,然后再执行自己的默认行为,跳转或刷新都属于 A 标签的默认行为。

INPUT 标签的默认行为,就是在键盘按下后,就显示上去,阻止默认行为后,再输入都不会有值。

2. 阻止默认行为

如何阻止其默认行为?

  1. 在结构上阻止(a 标签):javascript:; javascript:void 0;

  2. JS 阻止默认行为,在点击事件函数内阻止,return false

  3. 使用事件对象阻止,e.preventDefault()

  4. 使用事件对象阻止,e.returnValue = false,IE 中的方法

  1. oA.onclick = function (e) {
  2. e = e || window.event;
  3. e.preventDefault ? e.preventDefault() : e.returnValue = false;
  4. }

3. 实践

以阻止默认行为来实现只能输入数字

  1. oInp.onkeydown = function (e) {
  2. e = e || window.event;
  3. e.preventDefault ? e.preventDefault() : e.returnValue = false;
  4. var n = e.keyCode;
  5. if ((n>=48 && n <= 57)||(n>=96 && n <= 105)) {
  6. this.value += e.key;
  7. }
  8. console.log(this.value);
  9. }