被'bootstrap-slider'jQuery插件架构困惑

时间:2014-02-15 13:28:21

标签: javascript jquery twitter-bootstrap jquery-plugins

我是jQuery插件的新手,我不了解bootstrap-slider插件的架构。

创建滑块时实际返回了什么?

var mySlider = $('.slider').slider({...});

我希望Slider类(对象)但我不能直接访问它的方法,而是我必须这样做:

mySlider.slider('setValue',4);

为什么我应该将Slider的方法称为字符串而不是直接?我期望的是:

var mySlider = $('.slider').slider({...});?
mySlider.setValue(4);

我再次对此不熟悉,它是某种丑陋的模式还是我错误地理解了它?有人可以解释一下吗?

由于

2 个答案:

答案 0 :(得分:1)

基本上你可以在选择器上调用匿名jQuery函数。当你调用$('。slider')时,你正在创建一个存储方法和参数的jQuery对象。

JQuery插件模式是一个很好的起点。我会通过@addyosmani查看这篇文章 http://coding.smashingmagazine.com/2011/10/11/essential-jquery-plugin-patterns/

答案 1 :(得分:0)

显然,该架构的灵感来自How to create a jQuery plugin with methods?

恕我直言,这是非常糟糕的架构。它容易出错,无法强类型化(使用TypeScript)或在编译时检查完整性。我们不会在字符串中编写代码。