在以下代码中,当有人单击“卖出”按钮(第一个td)但单击功能不起作用时,我想运行一个功能。它说运行功能未定义。
function runfunction() {
alert("success");
}
sendRequest(); //call function
function sendRequest() {
$.ajax({
type: "POST",
url: '<?php echo site_url("ajax/ajax_buybtc"); ?>',
success: function(result) {
var jsonResult = JSON.parse(result);
$(".tab1 tr.tr1").remove();
jsonResult.forEach(function(data) {
var newTr = ""; // I delete the value to avoid double tr declaration
newTr +=
'<tr class="tr1"> <td onclick="runfunction()" style="text-align:center;"><a><span class="label label-warning">Sell</span></a></td>';
newTr += "<td id='xbtc " + data.xbtc + "'>" + data.xbtc + "</td>";
newTr += "<td id='xbtc " + data.rate + "'>" + data.rate + "</td>";
newTr += "<td id='xbtc " + data.xpkr + "'>" + data.xpkr + "</td>";
newTr += "</tr>";
$(".tab1 > tbody:last-child").append(newTr);
});
setTimeout(function() {
sendRequest(); //this will send request again and again;
}, 4000);
},
});
}
答案 0 :(得分:1)
您需要将onclick="runfunction()"
更改为onclick="runfunction"
。
当前发生的是执行runfunction
,并将其返回值绑定到onclick
事件。您希望函数本身被绑定,而不是它的返回值。
答案 1 :(得分:0)
newTr += '<tr class="tr1"> <td onclick="runfunction()" style="text-align:center;"><a><span class="label label-warning">Sell</span></a></td>';
移动点击以跨越标记
newTr += '<tr class="tr1"> <td style="text-align:center;"><a><span onclick="runfunction()" class="label label-warning">Sell</span></a></td>';
答案 2 :(得分:0)
在向td添加类(此处添加了“ td-click”)并从td中删除onclick属性后,尝试添加click函数
$(".tab1").on("click", ".td-click", function(){
alert("success");
})