我有一个输入元素。在使用JavaScript keydown
和keypress
事件键入内容时,我添加了一些过滤和修改文本的功能。
例如-当输入接受大写字符时,仅按“ a”(无移位,无大写锁定),则得到“ A”。
这有效,但是输入值绑定根本不起作用。我只是在JS事件上调用preventDefault()
,就是这样,绑定被破坏了。
我试图自己调度事件。我分派了新创建的KeyboardEvent
和CustomEvent
,类型为“ change”。没事。我可以在JS事件处理程序中修改输入值,可以在浏览器中看到更改,但是我的C#没有。
我该如何进行这项工作?我是否必须手动调用C#来更新绑定,还是有另一种方法?
该代码应仅在最新的Chrome / Firefox浏览器上起作用,可能不支持较旧的浏览器。
答案 0 :(得分:2)
为什么不使用Blazor代码编写代码?在您的降价中:
<input type="text" @bind-value="MyParamenter" @bind-value:event="oninput" >
和代码中
private string myParameter;
private string MyParameter
{
get => myParameter;
set
{
myParameter = value.ToUpper();
}
}