Js事件绑定的问题

改一下昵称 2011-12-02 08:53:44
不知道该怎么概括这个问题
我准备写一个小的ajax框架,封装所有ajax行为,可问题来了
 ajax.onreadystatechange = callback;  //  var callback = "JsonParse();" 

这个 callback 实际上是一个字符串类型的变量(传入的参数), 实际并没有callback这个函数
大虾们该怎么解决这个问题呢?
...全文
89 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
默默不得鱼 2011-12-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hookee 的回复:]
JScript code

if(typeof callback == "function"){
ajax.onreadystatechange = callback;
}
else if(typeof callback == "string"){
ajax.onreadystatechange = function(){
try{
eval(cal……
[/Quote]你要是字符串 那只能用eval执行,
一般都是回调function作为参数传进来 然后直接.onreadystatechange = callback;
hookee 2011-12-02
  • 打赏
  • 举报
回复
if(typeof callback == "function"){
ajax.onreadystatechange = callback;
}
else if(typeof callback == "string"){
ajax.onreadystatechange = function(){
try{
eval(callback);
}
catch(e){;}
}
}
改一下昵称 2011-12-02
  • 打赏
  • 举报
回复
那还有没有其它方法可以不用eval()不? 一直感觉这个函数怪怪的,不正规。。。
仲兴轩 2011-12-02
  • 打赏
  • 举报
回复
ajax.onreadystatechange = function(callback){
alert(callback);
};
默默不得鱼 2011-12-02
  • 打赏
  • 举报
回复
eval("JsonParse()")
默默不得鱼 2011-12-02
  • 打赏
  • 举报
回复
既然要封装 你的callback不应该是参数传进去的吗?

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧