0

我的代码构建如下:初始页面加载。jquery 库和 Noty 插件加载了脚本标签。我可以成功创建 Noty 通知(在脚本标签中)。在同一页面中。

我稍后包含一个 js 文件,当我使用该 js 文件中的函数中的相同代码来使用 Noty 通知时,我收到一个错误:TypeError: noty is not a function

我究竟做错了什么?这是某种范围问题吗?

包含在主页中:

<script type="text/javascript" src="js/jquery-1.9.0.min.js"></script>
<script type="text/javascript" src="js/noty/jquery.noty.js"></script>
<script type="text/javascript" src="js/noty/layouts/top.js"></script>
<script type="text/javascript" src="js/noty/themes/default.js"></script>
<script type=text/javascript>
var noty = noty({text: 'noty - a jquery notification library!'});
</script>
<script type="text/javascript" src="js/transferlist.js"></script>

作品。现在创建了一个 div,并通过 jquery 加载了这个 diff 的内容。其中一个函数是从 transferlist.js (showstatusmessage) 中调用的。

那是我收到错误的时候: TypeError: noty is not a function

function showstatusmessage(message) {
        var noty = noty({
          text: 'noty - a jquery notification library!',
          type: 'alert',
          timeout: 5000
        });
}

非常感谢您对理解/解决此问题的任何帮助!

编辑:我改变了对 var noti = noty(...不必在这里再次加载...对吗?

4

1 回答 1

3

你的第一个任务:

var noty = noty({text: 'noty - a jquery notification library!'});

覆盖了您正在调用的函数,因此下次您尝试使用

var noty = noty({
      text: 'noty - a jquery notification library!',
      type: 'alert',
      timeout: 5000
    });

您找到的只是以前的全局定义,var noty而不是您正在寻找的功能。尝试为这些分配使用不同的变量名。

于 2013-05-23T22:58:45.820 回答