我正在使用jQuery小部件工厂制作轮盘小工具(请参阅http://stuff.manisto.dk/roulette/)。为了方便人们使用,我指定了一些默认选项,例如元素。
问题是,当我指定一个小于默认选项的元素数组(参见http://stuff.manisto.dk/roulette/?elements=stack;overflow)时,仍会显示其余元素。
如何解决这个问题?为什么jQuery会复制所有数组值而不是提供新数组(如果指定了一个?
)顺便说一句,您可以在http://bitbucket.org/manisto/jroulette/src查看代码。
答案 0 :(得分:0)
那是因为使用jQuery的extend
方法,你只是“覆盖”扩展原始(选项)的数组中存在的元素。如果你想摆脱其他元素,只是不扩展原始元素或使它们无效,因为你在扩展数组中提供了null或undefined值。
我没有查看你的代码,但我知道jQuery中的默认选项通常会根据用户在每次调用的基础上进行扩展。