处理 Razor Pages 中的焦点事件
Handle onfocus event in Razor Pages
我有 <textarea />
行,我想处理 onfocus
和 onblur
事件并传递行数据。根本无法正常工作。
<div>
@foreach (Person p in People){
<textarea rows="4" onfocus="@hasFocus(p)" onblur="@lostFocus(p)">p.Name</textarea>
}
</div>
public void hasFocus(Person p) {
...
}
事件没有触发。
这对我有用:
<div>
@foreach (Person p in People){
<textarea rows="4"
@onfocus="@( () => hasFocus(p) )"
@onblur="@( () => lostFocus(p) )">
p.Name
</textarea>
}
</div>
根据docs,事件属性名称是@on{eventname}。
然后使用 lambda 传递你的 person 参数。
使用@onfocus 和@onblur
<textarea rows="4" @onfocus="hasFocus" @onblur="lostFocus">p.Name</textarea>
和
public void hasFocus(FocusEventArgs args)
{
}
public void lostFocus(FocusEventArgs args)
{
}
如果您只使用 onfocus,它将是一个 html 属性而不是一个事件监听器。
要传递您的 person 对象,您需要这样的操作
@onfocus="(args) => hasFocus(p)"
我有 <textarea />
行,我想处理 onfocus
和 onblur
事件并传递行数据。根本无法正常工作。
<div>
@foreach (Person p in People){
<textarea rows="4" onfocus="@hasFocus(p)" onblur="@lostFocus(p)">p.Name</textarea>
}
</div>
public void hasFocus(Person p) {
...
}
事件没有触发。
这对我有用:
<div>
@foreach (Person p in People){
<textarea rows="4"
@onfocus="@( () => hasFocus(p) )"
@onblur="@( () => lostFocus(p) )">
p.Name
</textarea>
}
</div>
根据docs,事件属性名称是@on{eventname}。 然后使用 lambda 传递你的 person 参数。
使用@onfocus 和@onblur
<textarea rows="4" @onfocus="hasFocus" @onblur="lostFocus">p.Name</textarea>
和
public void hasFocus(FocusEventArgs args)
{
}
public void lostFocus(FocusEventArgs args)
{
}
如果您只使用 onfocus,它将是一个 html 属性而不是一个事件监听器。
要传递您的 person 对象,您需要这样的操作
@onfocus="(args) => hasFocus(p)"