直接传是不可以的,
你可以另外写一个函数,
在这函数里调用这函数,
里面就可传参数了,比方说:
/**********aaa.onclick=funcB funcB的参数怎么传???高手们帮忙啊
function funcB(i,j)*****************************/
var i = 1;
var j = 2;
aaa.onclick = function (){ funcB(i, j);}
你可以另外写一个函数,
在这函数里调用这函数,
里面就可传参数了,比方说:
/**********aaa.onclick=funcB funcB的参数怎么传???高手们帮忙啊
function funcB(i,j)*****************************/
var i = 1;
var j = 2;
aaa.onclick = function (){ funcB(i, j);}
解决方案 »
- 两种方法取根元素的区别
- 首页调用文章,如何设置才能分栏显示
- 弹出的div移动(IE支持,FF不支持帮忙看一下!)
- 我想做个对联广告,但不知道怎样修改,请熟悉js的帮帮忙!
- tab选项面板在ie下正常,在firefox下不正常的最简单解决办法
- 如何在javascript里更改调用的函数?
- 求救:( 女的是不是特受关注
- 如何获得指定层的内容另存为Excel文件?
- <IE:Download ID="oDownload" STYLE="behavior:url(#default#download);">如何显示big5?
- 限制文件上传的类型
- javascript中字符串匹配问题
- MasterPage与JavaScript的冲突。
,要个一个表格列里的所有的 name 为 aaa
的控件加onclick事件。。
<html>
<script>
var i=1;
var j = 2;function append()
{
var node = document.getElementById("app");
var button = document.createElement("input");
button.setAttribute("type", "button");
button.setAttribute("id", "appbutton");
button.setAttribute("name", "appbutton");
button.setAttribute("value", "youAppendButton");
button.onclick = function () { funcB(i,j); }
node.appendChild(button);
}function funcB(i,j)
{
alert("i=="+i+", j=="+j);
}
</script>
</HEAD><BODY>
<button onclick="append();">append</button><p>
<div id="app"></div>
</BODY>
</HTML>
{
for(i=0;i<10;i++){
var node = document.getElementById("app");
var button = document.createElement("input"+1);
button.onclick = function () { funcB(i,j); }
node.appendChild(button);
}
}
就不行了。。这里我创建了10个button控件每个要加事件,但传的参数不一样
yourEachAAAElement.onclick = function () { funcB(i,j); }
//取得yourEachAAAElement可以用循环来做,比方说:
var aaaGroups = document.getElementsByName("aaa");//这是一个数组;
for(var i=0; i<aaaGroups.length; i++)
{
/*****
前面可以做一些判断,可是否已有了这属性,或其它属性等
**** /
aaaGroups[i].onclick = function () { funcB(i,j); }
}
var button = document.createElement("input"+1);//没有这种写法,你可以设置不同元素的属性,
比方说它的值,你就可以取到不同的值
{
var allButton = document.getElementsByTagName("input").length;
var node = document.getElementById("app");
var button = document.createElement("input");
var i = 1;
var j = 2;
button.setAttribute("type", "button");
//button.setAttribute("id", "appbutton");
button.setAttribute("name", "aaa");
button.setAttribute("value", "youAppendButton");
button.onclick = function () { funcB(allButton+i,allButton+j, this.name); }
node.appendChild(button);
}function funcB(i,j,id)
{
alert("i=="+i+", j=="+j+",id=="+id);
}
另外如果要设置不同的值可以,类似于this.name//当然前提是你要设置这属性
不过还是有问题,点一次生成一个的没问题。但是一次生成的就有问题
<html>
<script>
function append()
{
for(m=0;m<10;m++){
var allButton = document.getElementsByTagName("input").length;
var node = document.getElementById("app");
var button = document.createElement("input");
var i = 1;
var j = 2;
button.setAttribute("type", "button");
//button.setAttribute("id", "appbutton");
button.setAttribute("name", "aaa");
button.setAttribute("value", "youAppendButton");
button.onclick = function () { funcB(allButton+m,allButton+m, this.name); }
node.appendChild(button);
}
}function funcB(i,j,id)
{
alert("i=="+i+", j=="+j+",id=="+id);
}
alert();
append();</script>
</HEAD><BODY><div id="app" onclick="append()">fdadfafdaf</div>
</BODY>
</HTML>
for(m=0;m<10;m++){
//生成10按钮
button.onclick = function () { funcB(m,); }
}funcB(i)====================
希望点没个按钮传给funcB的参数是1到10
//生成10按钮
//button.onclick = function () { funcB(m,); }
button.attachEvent("onclick", funcB);
}function funcB(){
var m = arguments[0];
alert(m);
}
<script>
function append()
{
for(m=0;m<10;m++){
var allButton = document.getElementsByTagName("input").length;
var node = document.getElementById("app");
var button = document.createElement("input");
button.setAttribute("type", "button");
//button.setAttribute("id", "appbutton");
button.setAttribute("name", "aaa");
button.setAttribute("vl", m);
button.setAttribute("value", "youAppendButton");
button.onclick = function () { alert(this.vl); }
node.appendChild(button);
}
}
</script>
</HEAD><BODY><div id="app" onclick="append()">fdadfafdaf</div>
</BODY>
</HTML>
---------------------------------Please think it by yourself first.