javascript - 如何在 jquery html 字符串中包含内联 onclick
问题描述
我正在尝试使用我正在使用 jQuery html 方法更新的 html 字符串添加内联 onclick 事件侦听器,但它似乎不起作用,
当我检查元素时,它似乎也没有添加任何点击事件侦听器,没有看到 onclick 属性。
我在这里遗漏了什么,有人可以帮忙吗?
var data = [{
'a': 1,
'b': 2
}, {
'a': 10,
'b': 3
}];
var str = '';
function sendData(e, data) {
console.log(data);
}
data.forEach(function(item) {
str += '<div onclick="' + sendData(item) + '">';
});
jQuery('.container').html(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container"></div>
解决方案
您连接str
不正确:
var data = [{'a':1, 'b':2},{'a':10, 'b':3}];
var e = 1;
var str = '';
function sendData(e, data){
console.log(data);
}
data.forEach(function(item){
str+="<div onclick=sendData("+ e + "," + JSON.stringify(item) + ")>click</div>";
});
jQuery('.container').html(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container"></div>