a标签的默认行为

  1. 页面跳转
  2. 锚点定位(hash定位【哈希定位】)

    阻止默认行为

  3. 在结构中阻止

  1. <a href="javascript:;">阻止默认
  2. //href="javascript:void 0/undefined/null...;"
  3. </a>
  1. js里也可以阻止
  1. //给其click事件绑定方法,当点击a标签的时候,先触发click事件,其次才会执行自己的默认行为
  2. link.onclick=function(ev){
  3. ev=ev||window.event;
  4. return false;
  5. };
  6. link.onclick=function(ev){
  7. ev=ev||window.event;
  8. ev.preventDefault?ev.preventDefault():ev.returnVaule=false;
  9. }
  10. tempInp.onkeydown = function (ev) {
  11. ev = ev || window.event;
  12. let val = this.value.trim(),//=>TRIM去除字符串首位空格(不兼容) this.value=this.value.
  13. //replace(/^ +| +$/g,'')
  14. len = val.length;
  15. if (len >= 6) {
  16. this.value = val.substr(0, 6);
  17. //=>阻止默认行为去除特殊按键(DELETE\BACK-SPACE\方向键...)
  18. let code = ev.which || ev.keyCode;
  19. if (!/^(46|8|37|38|39|40)$/.test(code)) {
  20. ev.preventDefault ? ev.preventDefault() : ev.returnValue = false;
  21. }
  22. }
  23. };
  24. //=>键盘事件对象
  25. //code & key:存储的都是按键,code更细致
  26. //keyCode & which:存储的是键盘按键对应的码值
  27. // 方向键:37 38 39 40 =>左上右下
  28. // 空格SPACE 32
  29. // 回车ENTER 13
  30. // 回退BACK 8
  31. // 删除DEL 46
  32. // SHIFT 16
  33. // CTRL 17
  34. // ALT 18
  35. // ......
  36. /* cardInp.onkeydown = cardInp.onkeyup = function (ev) {
  37. let val = this.value,
  38. reg = /[^0-9X]/g;
  39. this.value = val.replace(reg, '');
  40. //=>超过18位禁止输入
  41. if (this.value.length >= 18) {
  42. let arr = [8, 13, 37, 38, 39, 40, 46];
  43. if (!arr.includes(ev.keyCode)) {
  44. ev.preventDefault();
  45. }
  46. }
  47. //=>按ENTER弹出输入的内容
  48. if (ev.keyCode === 13) {
  49. alert(this.value);
  50. }
  51. } */