我尝试从链接调用自定义函数,但不知何故它不起作用。不弹出警报。帮助赞赏!这是我的代码:
$.each(data.Tables, function(i, data){
link = '<a href="#" onclick=test()>' + data.tableName + '</a>';
tr.append("<td>" + link + "</td>");
tr.append("<td>" + data.rowCount + "</td>");
$("#tablesTable").append(tr);
});
这是我的功能:
function test (){
alert("Doesn't work");
}
如果我将链接行更改为此,单击链接后会出现警报。
link = '<a href="#" onclick=alert()>' + data.tableName + '</a>';
最佳答案
JavaScript 在 HTML 属性中没有位置。 jQuery 实际上可以将事件处理程序绑定(bind)到元素,即使它们不在 DOM 中,所以我建议您这样做:
$.each(data.Tables, function(i, data){
var $link = $('<a></a>', { // Create a new jQuery object
href: '#',
html: data.tableName
}).click(function(){
// Your code here...
alert("Doesn't work");
});
// We can't use '+' since $link is no longer a string
tr.append($link.wrap('<td></td>').parent());
tr.append("<td>" + data.rowCount + "</td>");
$("#tablesTable").append(tr);
});
这使用 jQuery 创建 <a>
标签,然后使用 .click()
绑定(bind)事件。
关于Javascript 函数调用在链接中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878269/