我正在尝试获取同一对象在不同位置的位置,使用JavaScript函数,我应该得到不同的顶部位置,但实际情况并非如此。脚本代码:
<script type="text/javascript">
window.ShowAlert = function myFunction(element) {
console.log("Hello World.");
alert(element.offsetTop);
}
</script>
Index.razor 代码如下:
@inject IJSRuntime jsRuntime
<div>
@for (int i = 0; i < 10; i++)
{
<div @onclick="MemberFunction" @ref="memberRef">Click Here</div>
}
</div>
@code {
private ElementReference memberRef;
void MemberFunction()
{
jsRuntime.InvokeAsync<object>("ShowAlert", memberRef);
}
}
您可以看到,在同一个
中我正在使用
for
,它会按顺序向下移动。我希望每个发布的都能给我一个不同的
offsetTop
值,因为它是按顺序一个一个向下移动的。我该如何解决这个问题?
为了更好的理解,您可以参考演示https://blazorfiddle.com/s/4g57o82k. 如您所见,每个Click Here的值都是相同的。
感谢您的关注。