按钮不在数据表中触发

时间:2013-02-21 06:28:07

标签: jquery html datatable

我使用datatable jquery插件创建了一个表。 以下是使用的json

{
"aaData":[{
"Month": "Jan-2013",
"Comments": "",
"Details": " <button class='dialog-link'>View</button>"
}]
}

正如预期的那样,创建了一个按钮。

然后我在这个

上放了一些jquery操作
 $(".dialog-link").click(function (event) {
    console.log("clicked");
    window.open('details.aspx', 'winname', 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=850,height=650');
    return false;
});

此函数无效...调试中没有错误,但父窗口刷新,没有打开子窗口(details.aspx)....这里有什么错误

2 个答案:

答案 0 :(得分:2)

试试这个,而不是:

$(document).on('click', ".dialog-link", function (event) {
    console.log("clicked");
    window.open('details.aspx', 'winname', 'directories=no,titlebar=no,toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=850,height=650');
    return false;
});

.click()有一种令人讨厌的倾向,即不能使用在页面加载事件完成后动态添加到DOM的元素。这就是弃用.click,.bind和.live的原因之一。

答案 1 :(得分:1)

尝试:

 $(document).on('click', '.dialog-link', function() { ... });

使用.on()将事件处理程序附加到父元素,并将选择器作为参数传递。