当新建函数中参数带有分割符时,可使用bind绑定函数,并将数据传入函数,函数内使用event.data接受。
<div id="divId">
</div>
var str="1,2,3,4,5";
var arr=str.split(",");
var newButton = $("<input type='button' value='submit'>").bind("click",{arr:arr},buttonClick);
function buttonClick(event){
var data = event.data.arr;
console.info(data);//["1", "2", "3", "4", "5"]
}
$("#divId").append(newButton);
当参数中带有分割符时,新建newButton时,如果使用+字符串的方法,会导致参数错误。
var newButton = $("<input type='button' onclick='buttonClick("+arr+")' value='submit'>");// error
不过也可以使用以下方法:
var newButton=$("<input type='button' value='submit' onclick='buttonClick(\""+str+"\")'/>");
var newButton=$("<input type='button' value='submit' onclick='buttonClick(\""+arr+"\")'/>");
不过我觉得第一种方法,更加好。
再简单的知识也值得总结记录下来!