【发布时间】:2012-12-04 20:15:05
【问题描述】:
我正在使用 jQuery v1.8.3 和 jQuery UI v1.9.2。我想扩展现有的 jQuery UI 小部件(在我的例子中是 Autocomplete 小部件),方法是添加和覆盖一些选项和方法,但保留其他功能与官方版本中的功能相同。我怎样才能使它成为“正确”(也许是“标准”)的方式?
【问题讨论】:
-
定义“扩展”。根据您想要做什么,您通常只需添加新方法,然后覆盖一些现有方法以使用您添加的功能。如autocomplete accentFolding extension。没有太多干净且面向未来的方法。
-
我认为任何人都可以提供的唯一答案是您必须谨慎行事。您必须熟悉代码库,然后确保维护彼此之间的合约功能。
-
@Fabrício Matté - “没有太多干净且面向未来的方式”是什么意思?
-
@thatidiotguy - 简单地说,我只想添加新的方法和选项,但我不打算覆盖现有的方法。
-
好吧,毕竟您是在编辑插件功能。您无法预见在未来版本中会发生什么变化。您可以在覆盖之前创建对原始方法的引用,用您自己的代码覆盖它,并在添加代码之前/之后调用原始方法,这是最接近干净/面向未来的方式,但不是 100%。
标签: javascript jquery jquery-ui plugins extending