jquery - 为什么简单的 fn.extend 不起作用?

标签 jquery

我确信这很简单,但我错过了 - 为什么 <script> 中的以下内容标签不起作用并弹出警报?

jQuery.fn.extend({
    sayHi: function () {
        alert('hello!');
    }
});

$(document).ready(function () {
    jQuery.sayHi();
});

最佳答案

因为您设置了jQuery.fn.sayHi,而不是jQuery.sayHi(这是未定义,因此您会收到运行时错误)。

您在 jQuery.fn 上设置的方法仅适用于选择(jQuery 对象),不适用于 jQuery 函数。

jQuery('body').sayHi(); 可以工作。

有关插件开发的更多信息,请参阅http://learn.jquery.com/plugins/basic-plugin-creation/ .

关于jquery - 为什么简单的 fn.extend 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21273080/

相关文章:

jquery - 在 IE 10 中,.append 大字符串 HTML 需要很长时间

jquery - 用于动态加载的缩略图轮播

jquery - 如何包装已克隆并附加的元素?

javascript - 如何在 ASP.NET ViewState HiddenField 中设置 ASP.NET TextBox 值

javascript - 单击按钮时隐藏 jquery datepicker

javascript - 在 ASP.net MVC 5 应用程序中单击按钮时使用 JavaScript/jQuery 将用户重定向到页面

jquery - 工具提示内的图像 tiptip

jquery - 如何仅在访问者第一次访问我的网站时显示弹出窗口?

javascript - jQuery 模板不显示数据元素

javascript - 导航/子导航列表,如何在页面重新加载后为点击的项目提供事件类