使用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');
};