在表上动态添加按钮时,无法添加onclick确认事件

时间:2019-06-13 02:47:45

标签: javascript jquery html dynamic

我想制作一个在每行中都有取消按钮的表。 当按下此按钮时,在逻辑工作之前,我想添加一个确认事件。 我在网上搜索,发现有一条帖子,可以通过放置onclick ='return confirm(“ Cancel?”);“添加确认信息。作为按钮内的属性。 但是,由于我对转义字符有疑问,因此无法正常工作。

-1st尝试

tr.append("<td><input type='button' class='cancelBtn' onclick='return 
confirm('Cancel?');' value='CancelButton'/></td>");

-2次尝试

tr.append("<td><input type='button' class='cancelBtn' onclick='return 
confirm(\'Cancel?\');' value='CancelButton'/></td>");

我曾尝试设置转义字符,但仍然无法正常工作。我已经检查了Chrome开发者工具上的按钮,并且两次尝试的结果都相同。

1 个答案:

答案 0 :(得分:0)

您可以使用反引号(ES6模板字符串)。最好也使用中介函数来处理点击和confirm

function handleClick() {
  return confirm("Cancel?");
}

let tr = $("#tr");

tr.append(`<td><input type='button' class='cancelBtn' onclick='handleClick();' value='CancelButton'/></td>`);
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<table>
  <tr id="tr"></tr>
</table>

您也可以只使用confirm并避免使用return

let tr = $("#tr");

tr.append(`<td><input type='button' class='cancelBtn' onclick='confirm("Cancel?");' value='CancelButton'/></td>`);
<script src="https://code.jquery.com/jquery-3.3.1.js"></script>
<table>
  <tr id="tr"></tr>
</table>