您的位置:首页 > Web前端 > HTML5

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

2017-05-23 10:35 363 查看
如下为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对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  html5 对象 标签
相关文章推荐