$(obj)
允许你创建一个空的jQuery对象,但这是不同$()
例如:我有一个命名空间的解决方案,需要有基于一个集中的对象上采取行动自定义事件。我已经写了我自己的EventHandler
类,基本上围绕私人$({})
这使我有一个对象,可以充当我的事件持有人和触发器。我在我的EventHandler
类中公开bind(),unbind()和trigger()。
$()
另一方面不允许您绑定和触发,因为没有基础对象。我不能完全确定他们有这样的想法,因为它会更有意义有“默认”或“空”的jQuery对象是$({})
长话短说:有事情$({})
这是否$()
不。但$([])
和$()
似乎行动相同从我做的最小的量测试。也许$(new Array())
行为仍然不同,但我不在乎研究它。
编辑与例如:
var testA = $();
testA.bind('customEvent', function() { alert('empty custom'); });
testA.trigger('customEvent'); // will not get an alert
var testB = $({});
testB.bind('customEvent', function() { alert('object custom'); });
testB.trigger('customEvent'); // will get an alert
var testC = $([]);
testC.bind('customEvent', function() { alert('array custom'); });
testC.trigger('customEvent'); // acts like testA
遗产(从旧代码或旧习惯)和/或显式(通过选择/偏好),是的。皮肤有不同的方法去皮肤。 (它确实创建了一个新的“空”jQuery对象。) – 2011-08-20 18:48:51
你已经回答了你自己的问题。 –
;)很确定。感谢您的确认! –