我有一个按钮,单击此按钮时,我需要动态生成一个链接并向其中添加一个处理程序,该处理程序显示一个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);

09-25 16:26