我正在使用jQuery生成一些包含按钮的html。出于某种原因,我无法为生成的按钮触发按钮事件。
当我查看源代码时,生成的html看起来很好......我也查看了Firebug,我没有看到任何错误......按钮点击事件没有被动态生成按钮触发。
非常感谢任何帮助。
这是我的代码:
$(document).ready(function () {
$("#btnSearch).click(function () {
var html = "";
html += "<tr><td>Test</td></tr>";
html += "<tr><td>Test 2</td></tr>";
html += "<tr><td><input id="btnTest" type="button" value="Test Button" /></td></tr>";
$(html).appendTo("#TestTable");
});
$("#btnTest").on("click", function () {
alert('hey');
});
});
我的静态HTML只是:
<table id="TestTable"></table>
答案 0 :(得分:3)
$('body').on('click', '#btnTest' function () {
alert('hey');
});
您需要阅读.on
文档并了解它的效果。它与旧的.live
方法不同。
答案 1 :(得分:1)
我对jquery“on”方法的工作方式知之甚少。 所以我在代码中做了一些改动,可以解决你的目的。
$(document).ready(function(){
$("#btnSearch").click(function () {
var html = "";
html += "<tr><td>Test</td></tr>";
html += "<tr><td>Test 2</td></tr>";
html += '<tr><td><input id="btnTest" type="button" value="Test Button" onclick="myfun()"/></td></tr>';
$(html).appendTo("#TestTable");
});
/*$("body").on("click",'btnTest' ,function () {
alert('hey');
});
*/
});
function myfun()
{alert("hey");}
答案 2 :(得分:0)
把
$("#btnTest").on("click", function () {
alert('hey');
});
在上一个按钮(btnSearch)的点击事件功能中..请注意,如果您在搜索按钮上多次点击,您有几个btnTest ...正常吗?