1、scroll事件不能阻止默认动作

阻止scroll默认动作没用,因为先有滚动,才有滚动事件
要阻止滚动,可阻止wheel和touchstart的默认动作
注意你需要找准滚动条所在的元素
但是滚动条还能用,可用CSS让滚动条width:0
代码链接:http://js.jirengu.com/luwus/1/edit?html,css,js,output

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>JS Bin</title>
  6. <style>
  7. ::-webkit-scrollbar {
  8. width:0 !important
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <div id=x>
  14. <p>1</p>
  15. <p>2</p>
  16. <p>3</p>
  17. <p>4</p>
  18. <p>5</p>
  19. <p>1</p>
  20. <p>2</p>
  21. <p>3</p>
  22. <p>4</p>
  23. <p>5</p>
  24. <p>1</p>
  25. <p>2</p>
  26. <p>3</p>
  27. <p>4</p>
  28. <p>5</p>
  29. <p>1</p>
  30. <p>2</p>
  31. <p>3</p>
  32. <p>4</p>
  33. <p>5</p>
  34. <p>1</p>
  35. <p>2</p>
  36. <p>3</p>
  37. <p>4</p>
  38. <p>5</p>
  39. <p>1</p>
  40. <p>2</p>
  41. <p>3</p>
  42. <p>4</p>
  43. <p>5</p>
  44. <p>1</p>
  45. <p>2</p>
  46. <p>3</p>
  47. <p>4</p>
  48. <p>5</p>
  49. <p>1</p>
  50. <p>2</p>
  51. <p>3</p>
  52. <p>4</p>
  53. <p>5</p>
  54. </div>
  55. </body>
  56. </html>
  1. x.addEventListener('wheel',(e)=>{
  2. e.preventDefault()
  3. })
  4. //x.addEventListener('touchstart',(e)=>{
  5. //e.preventDefault()
  6. //})

2、CSS也行

使用overflow:hidden可以直接取消滚动条
但此时JS依然可以修改scrollTop