【问题标题】:C# Blazor 5.0 onscroll event not firingC# Blazor 5.0 onscroll 事件未触发
【发布时间】:2021-06-25 16:07:40
【问题描述】:

我正在尝试使用 @onScroll 事件,但它根本没有触发……如果可能的话,我不喜欢使用 Javascript。

<div @onscroll="OnScrollChangeValue" class="sub-header p-10 d-none d-lg-block">
    <div class="container">
        <div class="row header-wrapper">
            <div class="col-lg-6">
            </div>
            <div class="col-lg-6 text-left">
                <div id="cl_switcher_wrapper">
                </div>
                <div class="dropdown dropdown-store-header dropdown-store-header-left hidden-xs">
                    <a class="circle-action dropdown-toggle" data-login-link="" href="https://nory.sa/login" rel="nofollow">
                        <span class="theme-icon-user"></span>
                    </a>
                </div>
            </div>
        </div>
    </div>
</div>

private async Task  OnScrollChangeValue(EventArgs e)
{
    OnScrollValue = "gg";
}

在 MrC aka Shaun Curtis 回答后,我明白该事件必须在包含大部分页面的同一个开发人员中..但在我的情况下仍然无法正常工作

更新代码

<div @onscroll="OnScrollChangeValue" class="store-home salla-theme_6 color-mode-light font-dinnextltarabic-regular">
    <Header></Header>
    <h1>@OnScrollValue</h1>
    @Body

@代码{

public int OnScrollValue { get; set; }
private void OnScrollChangeValue(EventArgs e)
{
    OnScrollValue++;
}

}

更新 1.0

我删除了 99% 的应用程序,并且事件没有在此处触发代码

<div   @onscroll="OnScrollChangeValue" >


  
    <h1>@OnScrollValue</h1>
    @Body
我关闭了 div 但它没有显示在这里 idk

@代码{

public int OnScrollValue { get; set; }
private void OnScrollChangeValue(EventArgs e)
{
    OnScrollValue++;
}

}

@body 上只有一个 div 的文本

更新 2.0

似乎事件仅在主页内的子 div 内触发。我的意思是该主页的主滚动条不会触发该事件。但如果您尝试将 div 设置为溢出样式:滚动则该事件只会在具有溢出的 div 内触发:滚动...如果您尝试将溢出滚动放在主 div 中,它将不起作用

style="height:1000px;overflow:scroll" 它适用于这行代码,但我有两个滚动条,一个在左边,另一个在右边

【问题讨论】:

    标签: c# asp.net blazor


    【解决方案1】:

    你不需要恢复到 JS,这个简单的演示展示了滚动事件的工作。你需要看看你的 CSS 类在做什么。

    @page "/Scroll"
    <h3>Scrolling</h3>
    
    <div class="scroll" @onscroll="OnScroll">
        It is a good platform to learn programming.
        It is an educational website. Prepare for the Recruitment drive
        of product based companies like Microsoft, Amazon, Adobe etc with
        a free online placement preparation course. The course focuses
        on various MCQ's & Coding question likely to be asked in the
        interviews & make your upcoming placement season efficient and
        successful. Also, any geeks can help other geeks by writing
        articles on the GeeksforGeeks, publishing articles follow few
        steps that are Articles that need little modification/improvement
        from reviewers are published first. To quickly get your articles
        reviewed, please refer existing articles, their formatting style,
        coding style, and try to make you are close to them. In case you
        are a beginner, you may refer Guidelines to write an Article
    </div>
    <div class="m-2 p-2">Scroll events: @counter</div>
    
    
    <style>
    
        div.scroll {
            margin: 4px, 4px;
            padding: 4px;
            width: 500px;
            height: 110px;
            overflow-x: hidden;
            overflow-y: auto;
            text-align: justify;
        }
    </style>
    
    @code {
    
        private int counter;
    
        private void OnScroll()
        {
            counter++;
        }
    
    }
    

    【讨论】:

    • 感谢您帮助您的示例工作正常,但在我的情况下仍然无法正常工作,在您回答事件必须在包含大部分页面的 div 中后我意识到......因为在它之前在标题中..现在我把它放在主 div 中但仍然无法正常工作..我更新了代码,所以如果你可以看看
    • @Body 中的内容是否有滚动条?您需要确保您的 CSS 溢出正确。我会扔掉所有特殊的 Css Class 东西,看看你会得到什么。
    • 是的,@body 中有 css 的滚动条我不明白 css 与事件有什么关系..我知道我需要的只是页面中的滚动条..因为对我来说它真的很难看一下所有的 css ..它的巨大
    • 取出所有的 Css 并检查你是否得到了事件。丑陋并不重要,只要努力让事件发生。在事件处理程序上放置一个断点。一旦你触发了事件,逐渐添加 Css 看看会发生什么。这是一个很糟糕的情况。您是否包含任何可能与 DOM 搞混的额外 JS?该事件没有触发,因为某些东西正在阻止它。你需要回到基础并让事件触发,然后构建直到它搞砸了。
    • 我删除了所有的 css 和 99% 的应用程序,但它仍然没有触发事件..对于 js 我没有任何..我将使用新代码更新上面的代码
    猜你喜欢
    • 1970-01-01
    • 2020-01-31
    • 2011-09-15
    • 2020-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-22
    • 1970-01-01
    相关资源
    最近更新 更多