Javascript onkeyup事件似乎未触发或被忽略
我有这个:Javascript onkeyup事件似乎未触发或被忽略,javascript,c#,asp.net,Javascript,C#,Asp.net,我有这个: txtNew.Attributes.Add("onkeyup", "alert('hi');"); 但当我在文本框中输入时,不会出现警报。我只是一个接一个地打字,从来没有出现过警报。为什么这不起作用 在IE 11、Chrome 42.0和FF 37.0中试用。使用.NET4.0 还尝试了“onkeypress”事件。同样的结果。我无法让警报出现 文本框定义为: asp:TextBox ID="txtNew" TextMode="Password" runat="server" Ma
txtNew.Attributes.Add("onkeyup", "alert('hi');");
但当我在文本框中输入时,不会出现警报。我只是一个接一个地打字,从来没有出现过警报。为什么这不起作用
在IE 11、Chrome 42.0和FF 37.0中试用。使用.NET4.0
还尝试了“onkeypress
”事件。同样的结果。我无法让警报出现
文本框定义为:
asp:TextBox ID="txtNew" TextMode="Password" runat="server" MaxLength="256
尝试删除TextMode属性,但结果仍然相同
最后,我想做的是:
txtNew.Attributes.Add("onkeyup", "CheckChars()");
其中
CheckChars()
是我的JS脚本。然而,当它不起作用时,我只是在里面放了一个“警报()
”,看看它是否能起作用 在javascript中,不能仅引用控件的ID来引用它。您需要使用
var txtNew = document.getElementById("txtNew");
txtNew.Attributes.Add("onkeyup", "alert('hi');");
编辑:实际上,这段代码是在javascript中还是在codebehind中?问题还不清楚。您是否查看了呈现的HTML,以查看您的属性是否以任何形式出现在文本框中?何时添加属性(在哪个事件处理程序中)?请尝试txtNew.Attributes[“onclick”]=“alert(“Hello World”);尚未测试,但应能正常工作您是在codebehind(从.cs页面)中尝试此操作还是在javascript(在客户端)中尝试此操作?此行(attributes.add)位于codebehind中的page_Load中。然后再次运行该页面,并检查生成的代码。查找ASP.NET为您呈现的文本框,并查看您的自定义属性是否存在。