1. 默认行为
A 标签默认先执行 click
事件,然后再执行自己的默认行为,跳转或刷新都属于 A 标签的默认行为。
INPUT 标签的默认行为,就是在键盘按下后,就显示上去,阻止默认行为后,再输入都不会有值。
2. 阻止默认行为
如何阻止其默认行为?
在结构上阻止(a 标签):
javascript:;
javascript:void 0;
…JS 阻止默认行为,在点击事件函数内阻止,
return false
使用事件对象阻止,
e.preventDefault()
使用事件对象阻止,
e.returnValue = false
,IE 中的方法
oA.onclick = function (e) {
e = e || window.event;
e.preventDefault ? e.preventDefault() : e.returnValue = false;
}
3. 实践
以阻止默认行为来实现只能输入数字
oInp.onkeydown = function (e) {
e = e || window.event;
e.preventDefault ? e.preventDefault() : e.returnValue = false;
var n = e.keyCode;
if ((n>=48 && n <= 57)||(n>=96 && n <= 105)) {
this.value += e.key;
}
console.log(this.value);
}