Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@carpages/jquery-boiler
Advanced tools
A jQuery plugin to help you quickly write custom jQuery plugins
jQuery Boiler is a lightweight jQuery plugin to help you quickly build your own custom plugins. It uses best practices to ensure that you're using the best development pattern without all the hassle.
bower install jquery-boiler
Make sure jQuery Boiler is loaded before your plugin. Whether it be loaded as an AMD module, or a script tag in your header.
Create a new plugin by passing $.boiler
your plugins name and the plugin object.
$.boiler('tooltip', {});
Once $.boiler
has been run, you can call it like you would any other plugin.
$('.js-tooltip').tooltip();
And yes, this is chainable :).
The plugin object you pass contains your settings and variables, as well as your private and public methods. The plugin object is the heart of your plugin since you'll have access to this object via the this
keyword in all of your private and public methods.
Technically you can run this object however you want, but there are certain key items that the plugin object is expecting.
Understanding this concept requires you understand both Setting Up The Object and Using The Object.
defaults
defaults
are the default settings for your plugin. When a user uses your plugin, they'll have the opportunity to pass their own settings to overwrite these values.
$.boiler('tooltip', {
defaults: {
tip: 'This is a tip!'
}
});
Once the defaults
are set, they can be overwritten by the user when the plugin is initiated.
$('.js-tooltip').tooltip({
tip: 'And he tipped his hat like this.'
});
events
events
are bound to the element that the plugin is bound to. The associated values are the names of the methods that will be run when the event is triggered.
$.boiler('tooltip', {
events: {
mouseEnter: 'open',
mouseLeave: 'close'
}
});
Note: You can delegate these events by passing a selector after the event name: 'click .child': 'onClick'
.
data
data
is a list of data-attributes
that the plugin will look for to overwrite the settings.
$.boiler('tooltip', {
data: ['tip']
});
Now you can set tip
using the dom elements data-attribute
.
<span class="js-tooltip" data-tip="Urr body in da club gettin tipsy!">Holla!</span>
Note: This data value will overwrite both the default and user set values.
init
init
is a function that will automatically be run when the plugin is initiated. This is a good place to cache elements or do any heavy lifting to prepare the plugin for action.
$.boiler('tooltip', {
init: function() {
var plugin = this;
plugin.$wrapper =
$('<div/>').addClass('js-tooltip__wrapper');
plugin.$tip =
$('<div/>').addClass('js-tooltip__tip')
.html(plugin.settings.tip);
plugin.$el.wrap(plugin.$wrapper);
plugin.$wrapper.append(plugin.$tip);
}
});
publicMethods
Public methods are methods that can easily be run by the user.
$.boiler('tooltip', {
open: function() {
var plugin = this;
plugin.$tip.fadeIn(plugin.settings.animationSpeed);
}
});
The user can run this function by calling the plugin after it's been initiated.
// Initiate
$('.js-tooltip').tooltip();
// Call public method
$('.js-tooltip').tooltip('open');
Note: The user can pass variables to the function in the same way.
$('.js-tooltip').tooltip('updateTip', 'This is a new tip!');
_privateMethods
Private methods are methods that can be run from within the plugin, but they can't be accessed by the user. These methods can be recognized by having a prefixed underscore.
var plugin = this;
You can reference the plugin object from within a method by calling this
. It's good practice to store this value into a plugin variable.
$.boiler('tooltip', {
open: function() {
var plugin = this;
}
});
plugin.$el
You have access to the dom element that the plugin has been bound to through plugin.$el
(jQuery object), and plugin.el
(dom element).
plugin.settings
plugin.settings
are the settings for the plugin based on defaults
, options
, and data
. settings
take priority based on data
> options
> defaults
.
$.boiler('tooltip', {
defaults: {
tip: 'This is the default tip.'
},
logTip: function() {
var plugin = this;
console.log(plugin.settings.tip);
}
});
$('.js-tooltip').tooltip({
tip: 'This is the user option tip.'
}).tooltip('logTip');
// Logs 'This is the user option tip.'
Note: The plugin object also gives you access to plugin.defaults
, plugin.options
, and plugin.data
.
At any time you can access the full plugin object using the cached data-attribute
.
$('#js-tooltip').tooltip({
tip: 'My last tip.'
});
console.log($('#js-tooltip').data('tooltip').settings.tip) // 'My last tip.';
FAQs
A jQuery plugin to help you quickly write custom jQuery plugins
The npm package @carpages/jquery-boiler receives a total of 5 weekly downloads. As such, @carpages/jquery-boiler popularity was classified as not popular.
We found that @carpages/jquery-boiler demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.