JS中插入的html元素绑定的函数传值问题

JS中插入的html元素绑定的函数传值问题

在JavaScript中向html中动态插入一些元素, 例如button/input等, 对插入的元素绑定一些事件去执行函数, 这个时候如果想要给函数传递对象类型的参数, 或者传的参数中可能会存在特殊字符, 例如英文的单双引号, 会使页面报错无法继续运行, 这里就介绍一种利用escape对特殊字符转码进行传值的方法. 部分代码如下:

function (value, row, index) {
    var fileEvidenceObj = {
        source: row.fileEvidence.source,
        recorderName: row.fileEvidence.recorderName,
        time: row.fileEvidence.time,
        location: row.fileEvidence.location,
        reviewerOne: row.fileEvidence.reviewerOne,
        reviewerTwo: row.fileEvidence.reviewerTwo,
        content: row.fileEvidence.content
    };
    // 此处注意要先把对象转成字符串再进行转码
    var fileEvidence = escape(JSON.stringify(fileEvidenceObj));  // 对象转字符串,并转码,防止特殊字符的影响
    var hindleBtn = '<button class="btn btn-link btn-xs" οnclick="editItem(\''+fileEvidence+'\')">编辑</button>&nbsp;'
    return hindleBtn;
}

window.editItem = function (fileEvidence) {
   var evidence = JSON.parse(unescape(fileEvidence)); // 解码,字符串转对象,传值
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值