HTML5标签点击事件方法:无法传递对象类型参数

如下为onclick 事件,点击触发startTask 方法,其中有两个参数,task 和 type,如果我这里的task是对象类型的,会导致startTask(task,type)方法接收到的task为[object Object],不能拿到数据。

结论:HTML5标签点击事件方法之无法传递对象类型参数

"<div class='task_item box_vertical_center' onclick='startTask(\"" + task + "\" ,\""+ type + "\")'>" 

我这里需要实现的需求

现在有很多任务,点击某个任务执行某个任务数据,类似iOS中TableView数据源

解决处理

将数据源作为全局数组处理,然后在HTML标签传递 i 任务在数组数据源中的位置,在startTask(i,type)方法中根据 i 取对应的任务做出相应处理。

用拼接字符串的方式构建html,只能拼接字符串,对象是没办法拼接的。
如果row是数字或字符串,则拼接结果为
lookCard(1) 或 lookCard(a)
如果row是对象,则拼接结果为
lookCard([object Object])
这里[object Object]会引起 Uncaught SyntaxError: Unexpected identifier
ps:上面的lookCard(a)也会引起错误,正确方法还要给字符串类型添加引号,即lookCard(“a”)
解决方法:
(1)将row转换成json,拼接进去,后面在函数里面再转换回来。
(2)拆开row,把row的多个属性逐一作为参数传递给函数。
(3)保存row为全局,传递row的凭证给函数,函数拿着凭证去全局取row对象。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sailip

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值