创建一个非常简单的jQuery插件,无法正常工作

时间:2014-01-08 16:04:57

标签: javascript jquery jquery-plugins

我以前从未创建过jQuery插件。我现在正在尝试并保持简单 - 这是我的插件代码,它在我公司的CDN上托管:

(function ($) {

    $.fn.displayToastrNotifications = function () {
        alert('test');
    };

})(jQuery);

我在我的页面中引用了这个JavaScript文件:

<script src="http://server/sites/CDN/Scripts/toastr-notifications.js"></script>

最后,在同一页面中,我有:

$(document).ready(function () {
     $.displayToastrNotifications();
});

我这样做了吗?包含我的插件代码的JavaScript文件将根据Firebug返回到浏览器。刷新页面时,我没有收到警告框。我究竟做错了什么?

修改

控制台报告错误:

  

TypeError:$ .displayToastrNotifications不是函数

     

$ displayToastrNotifications();

但是,这是一个功能,至少我认为它是......

2 个答案:

答案 0 :(得分:4)

不,那不对。您正在将函数添加到$.fn,这意味着它可以用作jQuery对象的方法:

$(something).displayToastrNotifications();

如果您想要$.ajax这样的“全局”功能,那么您只需将其设置为$的属性,而不是$.fn

答案 1 :(得分:4)

因为它是一个插件,所以需要在像

这样的jQuery包装器对象中调用它
$('body').displayToastrNotifications();

演示:Fiddle