我有一个按钮,单击此按钮时,我需要动态生成一个链接并向其中添加一个处理程序,该处理程序显示一个twitter引导程序模态。我尝试了这个:
$(function() {
function showModal() {
$("#myModal").modal("show");
}
$(document).on("click", "#my_btn", function() {
//generating a link a adding a handler to it which is "showModal()"
//.....
$("#my_href").html("Some text123 <a href='#' onclick='showModal();'>test123</a>.");
//.....
})
});
但是当我碰到这个链接时,会抛出错误说
Uncaught ReferenceError: showModal is not defined
我当然可以将
showModal()
从$(function() {...})
移出。但是我想知道,还有更好的方法吗?总的来说,这是实现我想要的一个好方法吗?更新:
即使将
showModal()
从$(function() {...})
移出后,它也不起作用,它会将我重定向到同一页面,但不会显示弹出窗口。 最佳答案
不要使用内联Javascript。您已经发布了一个完美的示例,说明了如何正确地解决此问题:在contains元素上使用.on
。
$(document).on("click", "#my_btn", function() {
$("#my_href").html("Some text123 <a href='#'>test123</a>.");
});
$('#my_href').on('click', 'a', showModal);