首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript函数调用无法从链接中运行

Javascript函数调用无法从链接中运行
EN

Stack Overflow用户
提问于 2013-09-18 17:08:48
回答 2查看 930关注 0票数 1

我试图从链接中调用一个定制的函数,但不知怎么的,它不起作用。警报不会弹出。帮助感激!这是我的密码:

代码语言:javascript
复制
$.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);
});

这是我的职责:

代码语言:javascript
复制
function test (){
    alert("Doesn't work");
}

如果我将链接行更改为此,则在单击链接后发出警报。

代码语言:javascript
复制
link = '<a href="#" onclick=alert()>' + data.tableName + '</a>';
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-18 17:12:19

JavaScript在HTML属性中没有位置。jQuery实际上可以将事件处理程序绑定到元素,即使它们不在DOM中,所以我建议您这样做:

代码语言:javascript
复制
$.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()绑定事件。

票数 3
EN

Stack Overflow用户

发布于 2013-09-18 17:16:11

改变这个

代码语言:javascript
复制
link = '<a href="#" onclick=test()>' + data.tableName + '</a>';

到这个

代码语言:javascript
复制
link = '<a href="#" onclick="javascript:test();">' + data.tableName + '</a>';
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18878269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档