如题,以前用传统的js方法很好控制,就是修改textarea元素的scrollTop属性即可,但在razor文件里不用JavaScript应该怎样才能实现相同的效果(获取页面元素并控制滚动)?
1条回答 默认 最新
CSDN专家-showbo 2021-07-24 15:03关注没提供api获取dom,但是可以调用写好的js方法,实际也是生成js代码发送到客户端执行的,这个是b/s模式的限制。有帮助麻烦点个采纳【本回答右上角】,谢谢~~
[_Host.cshtml/index.html]
<script> function accessDOMElement() { var btn; // access DOM here btn = document.getElementById('btn'); btn.innerText = "Button Textchanged"; } </script>[index.razor]
@page "/" @inject IJSRuntime jsRuntime <h1>@Title</h1> <button id="btn" @onclick="UpdateTitle">Update Title</button> @code { private string Title { get; set; } = "Hello, World!"; private async void UpdateTitle() { await jsRuntime.InvokeAsync<object>("accessDOMElement"); Title = "Hello, Blazor!"; } }代码来源:https://www.syncfusion.com/faq/blazor/javascript-interop/is-there-a-way-to-access-dom-in-blazor
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报