我使用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)....这里有什么错误
答案 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()将事件处理程序附加到父元素,并将选择器作为参数传递。