javascript - 如何执行 html onclick 事件中生成的 javascript 方法

标签 javascript

updateValue() 方法未触发,我不确定如何使用浏览器对其进行调试。

function generateHtmlTableRow() {
    var tr = $("<tr></tr>");
    $("#results").append(tr);

    var someTextData = "test";
    tr.append("<td><input type=\"button\" value=\"TestButton\" onclick=\"updateValue(someTextData);\" /></td>");
}

function updateValue(newText) {
    alert(newText);
}

最佳答案

生成的 html 是问题所在。它无法引用 generateHtmlTableRow 函数范围内的变量。所以它会起作用:

function generateHtmlTableRow() {
    var tr = $("<tr></tr>");
    $("#results").append(tr);

    var someTextData = "test";
    tr.append("<td><input type=\"button\" value=\"TestButton\" onclick=\"updateValue('" + someTextData + "');\" /></td>");
}

function updateValue(newText) {
    alert(newText);
}

$(document).ready(function(){
  console.log('log');
  generateHtmlTableRow();
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="results"></div>

关于javascript - 如何执行 html onclick 事件中生成的 javascript 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36042448/

相关文章:

javascript - 更新脚本中的值时如何强制 MVC 客户端验证

javascript - 使用 Javascript 的动画图像

javascript - PHP条件下向元素添加html

javascript - 使用 html5 数据列表自定义自动完成

javascript - 禁用自动完成上的自动选择 | jQuery用户界面

c# - 需要在 Javascript、C# 中实现相同的字符串哈希

javascript - 页面大于屏幕高度时的粘性页脚

javascript - 需要正则表达式来创建 id 数组

javascript - 通过 JavaScript 使用 HTML 下拉列表值

Javascript/AJAX、PHP 和 MySQL 结账