如何调用自定义jquery函数而不将其附加到某些东西

时间:2017-08-11 15:06:42

标签: javascript jquery

在jquery中编写函数的新手,只是测试水域。

我这只是为了演示:

(function ( $ ) {

    $.fn.update_notifications = function( options ) {

        // This is the easiest way to have default options.
        var settings = $.extend({
            // These are the defaults.
            user_id: 0,
        }, options );

        alert('test');

    };

}( jQuery ));

我将其包含在标记之前包含的JS文件中。我想知道的是,如何在我的html中实际调用它?

我在想这样的事情:

<script type="text/javascript">
jQuery.update_notifications({
    user_id: 1
});
</script>

但这告诉我&#34; jQuery.update_notifications不是一个函数&#34;

1 个答案:

答案 0 :(得分:0)

要解决此问题,您只需将$.fn.update_notifications更改为$.update_notifications即可。 $.fn命名空间用于将函数附加到jQuery对象的实例。

&#13;
&#13;
(function($) {
  $.update_notifications = function(options) {
    var settings = $.extend({
      user_id: 0,
    }, options);

    console.log('test');
  };
}(jQuery));

jQuery.update_notifications({
  user_id: 1
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
&#13;
&#13;

话虽如此,你的例子有点多余,因为你只是包装了现有的$.extend()函数而没有添加任何真实的逻辑 - 尽管我认为这是一项正在进行的工作。