请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

对jdata数组使用JSON.stringify()方法后,

 .addComponent('back',{
             width:52,
             height:50,
             bg:'imgs/tail_back.png',
             center:true,
             onclick : function(){
                  $.fn.fullpage.moveTo( 1 )
             }
        })

最后一个back组件的onclick函数不会被解析进JSON字符串中

正在回答

2回答

Lyn 2016-06-17 12:43:15

非要解决的话也是有办法的。

var jdata = [];
jdata.push( {a:1,b:function(t){console.log(t);}} );
var str = JSON.stringify( jdata,function(k,v){if(typeof v ==='function'){return v.toString()};return v;}) ;
JSON.parse(str,function(k,v){if(typeof v === 'string' && v.substr(0,8)==='function'){return eval('('+v+')')}return v;})

不过这没有什么意义,一般来说,这部分的JSON配置,是后台的UI界面去组织的。不可能让你去写这个JSON。

0 回复 有任何疑惑可以回复我~
  • 提问者 supersylph #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2016-06-17 13:20:36
Lyn 2016-06-16 10:48:04

忘记这茬了,试试下面这个代码:

JSON.stringify( jdata,function(k,v){if(typeof v ==='function'){return v.toString()};return v;})


0 回复 有任何疑惑可以回复我~
  • 提问者 supersylph #1
    那么这个函数被转换成字符串放到JSON字符串以后,  执行的时候该如何作为函数绑定给click事件呢? 除了使用eval有没有别的方法.
    回复 有任何疑惑可以回复我~ 2016-06-16 21:56:02
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信