onclick里面如何传递对象

$('#td1').html( '<a href="#" onclick="app.showPostEdit('+aData+')"></a>');

对象怎么传递,以上传递一个对象不行。应该如何传递,有没有什么方法?

收藏 0 分享浏览 1960
4年前
跟帖
tcdona
4年前

.html('')方法本来就是接收字符串滴 不能传什么对象滴

你可以传个id进去 比如数据为

var data = {
  id1: {}
, id2: {}
, id3: {}
}
$().html('onclick="fn('+ id1 +')"')

var fn = function(id) {
  return data[id] // got it!
}
沙发
tcdona
4年前
@tcdona @全职幽默 其实不是好办法,包括楼下的一些tips,只是暂时解决你的这个需求罢了, 最好参考@芋头滴,把事件统一用js绑定,而不是写内联事件
地板
芋头
4年前

js中,对象通过加号拼接后就变成字符串了。所以你这个需求满足不了。

不要写内联事件,直接html之后,然后手动绑定吧

4 楼
张小俊128
4年前

在aData外面套上一个eval。

       onclick="app.showpostedit(eval("+aData+"))"
5 楼
张小俊128
4年前

在aData外面套上一个eval。

       onclick="app.showpostedit(eval("+aData+"))"
6 楼
唐BoHu
4年前

不要写内联事件 生成元素后再绑事件吧

7 楼
说几句
广告位 点击查看投放指南

我的收藏