在SimpleModel窗口中运行Javascript

在SimpleModel窗口中运行Javascript,javascript,jquery,live,simplemodal,Javascript,Jquery,Live,Simplemodal,我试图将脚本添加到modal()jquery插件中,但它们不会运行,是在modal()中运行时该功能根本不可用,还是我遗漏了什么 下面是我如何称呼simplemodal的: $('#modal').modal({ onClose: function (dialog) { $App.setLocation('#/'); $.modal.close(); } }); 这是模态的html,其中包括addthis脚本(我在这里发布了真实的用户名): {{header}} 发布

我试图将脚本添加到modal()jquery插件中,但它们不会运行,是在modal()中运行时该功能根本不可用,还是我遗漏了什么

下面是我如何称呼simplemodal的:

$('#modal').modal({
  onClose: function (dialog) {
    $App.setLocation('#/');
    $.modal.close();
  }
});
这是模态的html,其中包括addthis脚本(我在这里发布了真实的用户名):


{{header}}

发布在{{feed_source},{{date}

{{{body}}} 评论:

徽标文本

所有这些代码在模式之外都可以正常工作。有人知道在模式中运行脚本的方法吗


谢谢

什么是
$App.setLocation('#/')正在做什么

我看不出有什么原因它不起作用,但打算将
onClose
回调主要用于关闭动画

我的建议是使用
onShow
回调并将您自己的函数绑定到“close”事件。例如:

$('#modal').modal({
  onShow: function (dialog) {
    $('.close', dialog.data[0]).click(function () {
      $App.setLocation('#/');
      $.modal.close();
      return false;
    });
  }
});

SimpleModal的功能比Eric Martin知道的还要强大

  • 在主文档中创建模式隐藏div
  • 创建您希望在该模式中处理的任何完整HTML/ASP/JAVASCRIPT页面
  • 使用jquery.Load()加载带有HTML/ASP/JAVASCRIPT页面的隐藏div
  • 显示模态

  • 嗨,Eric,感谢您的回复,$App.setLocation(“#/”);是一个SammyJS函数,它简单地将应用程序路由回主页,当有人单击链接时,会弹出模式,但位置散列也会更改为#/article/1234(其中1234是文章id)。关闭对话框对我来说很好,我的问题是我无法在模式中运行任何脚本,我试图嵌入一个AddThis脚本,但它没有加载。。。。我刚刚通过电子邮件向您发送了一个链接:)我认为问题在于,在创建模式后(在onShow回调中),您需要初始化任何脚本。不幸的是,使用jQuery.load()可能会导致确定容器维度和位置值的方式出现问题。到目前为止,我更喜欢使用jQuery.get(url、数据、回调),然后使用回调中的数据进行modal()调用。我没有看过jquery.get,但我问:jquery.get是否可以毫无问题地加载javascript/asp?(这不是竞赛)。我也使用$.get或$.post来显示modals数据,但是,当我需要进一步处理(在回答页面中)时,我使用jquery.load。到目前为止,没有问题。
    $('#modal').modal({
      onShow: function (dialog) {
        $('.close', dialog.data[0]).click(function () {
          $App.setLocation('#/');
          $.modal.close();
          return false;
        });
      }
    });