jQuery.sub()Returns: jQueryversion deprecated: 1.7, removed: 1.9
Description: Creates a new copy of jQuery whose properties and methods can be modified without affecting the original jQuery object.
-
version added: 1.5jQuery.sub()
- This method does not accept any arguments.
Note: This API has been removed in jQuery 1.9.
There are two specific use cases for which jQuery.sub() was created. The first was for providing a painless way of overriding jQuery methods without completely destroying the original methods and another was for helping to do encapsulation and basic namespacing for jQuery plugins.
Note that jQuery.sub() doesn't attempt to do any sort of isolation - that's not its intention. All the methods on the sub'd version of jQuery will still point to the original jQuery (events bound and triggered will still be through the main jQuery, data will be bound to elements through the main jQuery, Ajax queries and events will run through the main jQuery, etc.).
Note that if you're looking to use this for plugin development you should first strongly consider using something like the jQuery UI widget factory which manages both state and plugin sub-methods. Some examples of using the jQuery UI widget factory to build a plugin.
The particular use cases of this method can be best described through some examples.
Examples:
Adding a method to a jQuery sub so that it isn't exposed externally:
1
2
3
4
5
6
7
8
9
10
11
12
|
|
Override some jQuery methods to provide new functionality.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
|
Create a plugin that returns plugin-specific methods.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
|