我有这个:

txtNew.Attributes.Add("onkeyup", "alert('hi');");


但是,当我在文本框中键入内容时-没有警告提示。我只是打字,不会发出警报。为什么这不起作用?

在IE 11,Chrome 42.0和FF 37.0中进行了尝试。使用.NET 4.0。

还尝试了“ onkeypress”事件。结果相同。我无法收到警报。

文本框定义为:

asp:TextBox ID="txtNew" TextMode="Password" runat="server" MaxLength="256


尝试删除TextMode属性,但结果仍然相同。

最终,我要做的是:

txtNew.Attributes.Add("onkeyup", "CheckChars()");


其中CheckChars()是我的JS脚本。但是,当它不起作用时,我只是在其中放了一个'alert()',看是否还能起作用。

最佳答案

您不能只引用控件的ID来在javascript中引用它。您实际上需要使用

var txtNew = document.getElementById("txtNew");
txtNew.Attributes.Add("onkeyup", "alert('hi');");


编辑:实际上,此代码是在您的JavaScript中还是在您的代码隐藏中?问题尚不清楚。

关于javascript - onkeyup事件似乎不触发或被忽略,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30197455/

10-09 01:00