click事件没有按预期返回字符串参数,而是将click事件作为参数回?
问题描述:click事件没有按预期返回字符串参数,而是将click事件作为参数回传,这是为什么?应如何解决,哪怕给个提示也好,谢谢了!
/*
* 方法描述:服务器接收到格式为:st1r#str2#str3#str4的字符串。js将其分
* 割成数组。然后依次在一个div标签下建立数个span标签。span标
* 签附于一个click事件侦听。目的是把参数字符串写入一个text标
* 签。
* @parameters responseText :服务器回执字符串。
*/
function buildChoose(responseText){
//DIV标签
var content = _get("choosePanel");
//字符串数组
var columns = responseText.split("#");
//字符串数组第一位是text的id
var textObj = _get(columns[0]);
//click事件响应方法
var onclickFn = function(index){
return function(index){
alert("type:"+index.type);//此处alert输出内容为:type:click,即对象类型是click。但是原本传入的是一个数组下标啊?
//textObj.value = columns[parseInt(index)];
}
}
//循环创建span标签,然后绑定侦听
for(var i=1;i<columns.length;i++){
var column = document.createElement("span");
column.style.cssText="padding:2px;cursor:pointer;color:#4294EF;";
column.innerHTML = columns[i];
content.appendChild(column);
addEventDf(column,"click",oncclickFn(i));//回调方法的参数数组下标。
}
}
//绑定侦听。
function addEventDf(obj,evt,fn){
if(obj.addEventListener){
obj.addEventListener(evt,fn,false);
}else if(obj.attachEvent){
obj.attachEvent('on'+evt,fn);
}
}
[ 本帖最后由 开司米 于 2010-1-25 23:21 编辑 ]