Javascript Onclick事件拒绝工作

Javascript Onclick事件拒绝工作,javascript,jquery,css,Javascript,Jquery,Css,我写了一些函数来滚动我的页面主体,但由于某些原因它无法工作。我怀疑这与我的样式表有关。如何在不删除阻止单击的HTML代码的情况下修复该问题 我的 $(文档)。在('click','scroll',function()上{ $(“身体”)。设置动画({ 滚动顶部:500 }“慢”); }) 画布{ 宽度:100%; 高度:100vh; 位置:固定; } 身体{ 高度:1000vh; 保证金:0; 溢出y:自动; } 单击以滚动 你是对的,这与样式表有关 以固定方式放置画布。这会将其从流中移除,

我写了一些函数来滚动我的页面主体,但由于某些原因它无法工作。我怀疑这与我的样式表有关。如何在不删除阻止单击的HTML代码的情况下修复该问题

我的

$(文档)。在('click','scroll',function()上{
$(“身体”)。设置动画({
滚动顶部:500
}“慢”);
})
画布{
宽度:100%;
高度:100vh;
位置:固定;
}
身体{
高度:1000vh;
保证金:0;
溢出y:自动;
}

单击以滚动

你是对的,这与样式表有关

以固定方式放置画布。这会将其从流中移除,并将其添加到自己的单独“层”(如果愿意)。默认情况下,该层位于任何静态层的顶部

这实际上意味着:当你认为你在点击div.scroll时,你实际上是在点击画布,因为它位于顶部

解决方法:

  • z-index:-1
    添加到画布(尽管这会将其隐藏在内容后面;不推荐)
  • 向画布添加
    指针事件:无
    (取决于画布的目标,这可能也没有用。单击事件将“穿过”画布)
  • 将画布放置在其他位置(推荐)
  • 定位
    。滚动
    相对
    ly(z索引高于画布)(推荐)

如果不知道你将使用画布做什么,就很难说你应该做什么。

只需添加
位置:相对到中的


单击以滚动

希望有帮助

看看下面我的答案。会有用的。谢谢你知道你链接到了一个不固定的密码笔,对吗D@BramVanroy是 啊因为我已经给出了上面的解决方案。我只想让OP自己在引用的
Codepen
上尝试解决方案。这就是为什么我提到“只需添加…”P
<canvas id="canvas"></canvas>
<div class="scroll" style="display: block; position: relative;">
  CLICK TO SCROLL
</div>