test(e){
e=e||window.event;
var src=e.srcElement||e.target;
var form=src.form;
var id=form.id;
var name=form.name;
//go on ...
}
e=e||window.event;
var src=e.srcElement||e.target;
var form=src.form;
var id=form.id;
var name=form.name;
//go on ...
}
<input name="b1" id="bi" type="button" onclick="test();">
</form>
呵呵~~~~~~~~~
按照你的思路不用改太多,在test(参数)参数中传递就好了
test(this.name/this.id);
我以前试过效果还可以!!
知道的不多大家多多交流了
test(){
var e=arguments[0]||window.event;
var src=e.srcElement||e.target;
var form=src.form;
var id=form.id;
var name=form.name;
//go on ...
}
我的意思是 一个按钮定义了多个事件连续执行,和多个按钮每个按钮多个事件,arguments[0]里面是怎么处理的?
处理的方法就是从事件获得元素然后回朔!function getFormName()
{
var src=window.event.srcElement;
var na=src.id;
var ele=document.getElementById(na);
for(;ele.tagName!="FORM";)
{
ele=ele.parentNode;
}
alert("fome name is: "+ ele.name);
}
src=window.event.srcElement;
form=src.form;
alert("fome name is: "+ form.name);而且这样只能在IE中运行