[使用C#在Visual Studio上使用Visual Studio ASP.Net]
我一直试图改变在我的对象上显式分配事件,转向Unobtrusive JavaScript。但是,我似乎无法找到有关如何开始的适当信息。
我的功能位于头部,运作良好。我也试图将window.onload添加到头部。
window.onload = myOnloadFunc()
{
document.getElementById('<%= NewQuestionTopbtn %>').OnClientClick="return NewQuestion()";
}
当我调试时,我立即得到错误,“Microsoft JScript运行时错误:对象预期” 然后我的动态代码显示:
window.onload = myOnloadFunc()
{
document.getElementById('System.Web.UI.WebControls.Button').OnClientClick="return NewQuestion()";
}
让我相信在加载DOM之前,windows.onload函数似乎正在运行。但是,我开始相信window.onload函数在页面加载后运行。
使用时我的按钮工作正常:
<asp:Button ID="NewQuestionTopbtn" runat="server" Font-Bold="True" Font-Size="Medium" Text="New Question"
OnClientClick="return NewQuestion()"/>
非常感谢任何建议!
答案 0 :(得分:0)
您缺少function关键字。您还需要使用ClientID,它是浏览器客户端的HTML元素上使用的ID。
window.onload = function()
{
document.getElementById('<%= NewQuestionTopbtn.ClientID %>').addEventListener("click",NewQuestion);
}