使用javascript将事件添加到按钮

使用javascript将事件添加到按钮,javascript,html,Javascript,Html,在本页中,有一种方法 我的问题是如何向按钮添加事件,想象一下我只想创建按钮,而不是文本框或单选元素 更新 我这里有问题。。。我已经尝试了提供的一些解决方案,但它给我带来了问题,让我试着解释一下 我正在尝试打开xml文件,读取它并创建带有xml属性的html对象,目前为止还不错,但是如果我尝试添加事件,xmlObj会出现null any ideias 我有这个 script = "function OnClientDragEnd(dock, args)" +

在本页中,有一种方法

我的问题是如何向按钮添加事件,想象一下我只想创建按钮,而不是文本框或单选元素

更新
我这里有问题。。。我已经尝试了提供的一些解决方案,但它给我带来了问题,让我试着解释一下

我正在尝试打开xml文件,读取它并创建带有xml属性的html对象,目前为止还不错,但是如果我尝试添加事件,xmlObj会出现null any ideias

我有这个

script = "function OnClientDragEnd(dock, args)" + 
                         "   {" + 
                                "var hidd = document.getElementById('" + HiddenField1.Value + "');" + 
                                "hidd.value = dock.get_id();" + 
                    //"alert(hidd.value);" + 
                                "var xmlDoc = new ActiveXObject('Microsoft.XMLDOM');" + 
                                "xmlDoc.async = 'false';" + 
                                "xmlDoc.load('Config.xml');" + 
                                "xmlObj = xmlDoc.documentElement;" + 
                                "if (xmlObj.childNodes.length>0)" + 
                                "{" + 
                                "   for (var i = 0; i < xmlObj.childNodes.length; i++)" + 
                                "   {" + 
                                "       if (xmlObj.childNodes(i).getElementsByTagName('Id')[0].text == hidd.value){" + 
                                "           var txtTb2 = document.getElementById('" + TextBox4.ClientID + "');" + 
                                "           txtTb2.value = xmlObj.childNodes(i).getElementsByTagName('Titulo')[0].text;" + 
                                "           y = xmlObj.childNodes(i).getElementsByTagName('Titulo')[0].nextSibling;" + 
                                "           yy = xmlObj.childNodes(i).getElementsByTagName('Titulo')[0].previousSibling;" + 
                    //"           alert(y.nodeName);" + 
                                "           for(i=0;i<yy.text;i++){" + 
                                "               alert('aa');" + 
                                "               var tbox = document.createElement('input');" + 
                                "               tbox.setAttribute('type', 'text');" + 
                                "               tbox.setAttribute('value', y.text);" + 
                                "               tbox.setAttribute('name', 'name');" + 
                                "               var abcd = document.getElementById('spanObjDock');" + 
                                "               abcd.appendChild(tbox);" + 
                                "               var bt1 = document.createElement('input');" + 
                                "               bt1.setAttribute('name', 'mais');" + 
                                "               bt1.setAttribute('value', '+');" + 
                                "               bt1.setAttribute('type', 'button');" + 
                                "               bt1.onclick = function (){alert('Clicked!');};" + //--> this dont work 
                                //"               bt1.setAttribute('Click','addRadioButton()');" + //--> and this dont work 
                                "               abcd.appendChild(bt1);" + 
                                "               var bt2 = document.createElement('input');" + 
                                "               bt2.setAttribute('name', 'menos');" + 
                                "               bt2.setAttribute('value', '-');" + 
                                "               bt2.setAttribute('type', 'button');" + 
                                "               abcd.appendChild(bt2);" + 
                                "               var break1 = document.createElement('br');" + 
                                "               abcd.appendChild(break1);" + 
                                "               node = y;" + 
                                "               y=y.nextSibling;" + 
                                "           }" + 
                                "           break;    " +//<input type="button" onclick="" name"as" /> 
                                "       }" + 
                                "   }" + 
                                "}" + 
                            "}";//+ 
script=“function OnClientDragEnd(dock,args)”+
"   {" + 
“var hidd=document.getElementById(“+HiddenField1.Value+”);“+
“hidd.value=dock.get_id();”+
//“警报(隐藏值);”+
“var xmlDoc=newActiveXObject('Microsoft.XMLDOM');”+
“xmlDoc.async='false';”+
“xmlDoc.load('Config.xml');”+
“xmlObj=xmlDoc.documentElement;”
“如果(xmlObj.childNodes.length>0)”+
"{" + 
“对于(var i=0;i“对于(i=0;i,最简单的跨浏览器方式可能是将事件名称设置为元素的属性:

Element.onclick = function () 
{
   // do something...
}
Element.onmouseup = function () 
{
   // do something else...
}

简单地说,使用
addEventListener
方法:

buttonRef.addEventListener("click", function() {
    alert("Blah blah...");
}, false);
(您必须通过谷歌搜索跨浏览器解决方案。IE不支持
addEventListener


其中
buttonRef
是对button的引用。如何获得该引用?有很多方法可以做到这一点。您可以使用
document.getElementById()
或此“族”中的任何其他方法。

在创建DOM元素时必须附加新事件

例如:

var e = document.createElement('input');
e.onclick = function()
            {
               alert('Test');
            };

真倒霉!该死,比我快了一秒钟…不应该再加上那个例子!实际上,我们两篇文章的时间戳似乎完全一样。:DIt有效!我有一些困难,我最终添加的任何东西,我收到了错误,xmlObj为空,但我重新启动VS2008关闭一些窗口,它开始工作。谢谢!!找到了这个链接t帮助IE 9实际支持
addEventListener
var e = document.createElement('input');
e.onclick = function()
            {
               alert('Test');
            };