我有以下代码,我将从jQuery文档中了解如何构建插件。
我只是想创建一个简单的isNot扩展名:
(function ($) {
$.fn.isNot = function (selector) {
return !this.is(selector);
};
})(jQuery);
$(document).ready(function () {
$("#someButton").click(function (event) {
alert($("#someCheckbox").isNot(":checked"));
});
});
当我运行这个时,javascript文件正确加载,我可以单步执行firebug中的代码。我看到jQuery已正确定义,并且click事件也正确连接。
但是,我在FireBug中添加了一个手表来跟踪isNot函数,它始终为null。我无法让它成为定义。
有什么我做得不好吗?
答案 0 :(得分:1)
也许您加入jQuery
和插件的方式不对。
script
代码订单。jQuery
是否正确加载jQuery
的实例,这将使您的插件在不可访问的实例中可用。正如您所提到的,问题实际上是对jQuery的多个引用的问题。
使用Telerik的外部模板时要小心,有些文件包含加载JS
和/或CSS
的控件,这些控件可能与您自己的模板冲突。
答案 1 :(得分:-3)
在你的isNot定义中,第二行必须是
return!$(this).is(selector);
而不是
return!this.is(selector);
仅供参考,这是一篇关于jQuery插件架构的好文章。 http://www.learningjquery.com/2007/10/a-plugin-development-pattern