
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
pretty-dropdowns
Advanced tools
A simple, lightweight jQuery plugin to create stylized drop-down menus.
Pretty Dropdowns is a simple, lightweight jQuery plugin that converts <select>
drop-down menus into "pretty" menus that you can style using CSS.
<select multiple>
)<optgroup>
)title
) carried over at both <select>
and <option>
levels<label for>
(menu will get focus when you click on the label)<link rel="stylesheet" href="/css/prettydropdowns.css">
<script src="//code.jquery.com/jquery-2.2.4.min.js"></script>
<script src="/js/jquery.prettydropdowns.js"></script>
You have complete control over the look and feel of the drop-down menu by modifying prettydropdowns.css
. It is recommended to load the JavaScript files at the bottom just before the closing </body>
tag if possible.
Make sure this comes after the two required JavaScript files from Step 1 are loaded.
<script>
$(document).ready(function() {
$('select').prettyDropdown();
});
</script>
You can also specify some options:
<script>
$(document).ready(function() {
$('select').prettyDropdown({
height: 30
});
});
</script>
Name | Type | Default | Description |
---|---|---|---|
customClass | string | arrow | The class name to customize the drop-down menu style. The default arrow class displays a chevron-type arrow icon. Two additional helper classes are built in (add either or both to arrow ): triangle converts the chevron into a solid triangle; small renders the arrow icon at half size. |
height | number | 50 | The drop-down menu height. The minimum value is 8. |
hoverIntent | number | 200 | The wait period (in milliseconds) before collapsing the drop-down menu after you hover off of it. If you hover back onto the menu within the wait period, it will remain open. The minimum value is 0. |
selectedDelimiter | string | ; | The separator character to use for the list of selected values in a multi-select menu. |
selectedMarker | string | ✓ | The icon or symbol to mark that an item is selected in a multi-select menu. HTML is accepted (e.g., <i class="fa fa-check"></i> ). |
afterLoad | function | Callback function to execute after the drop-down menu widget is loaded. |
Name | Description |
---|---|
refresh() | Rebuild the drop-down menu. You should do this whenever the <select> state changes (e.g., one or more <option> gets added, removed, or disabled). |
Example:
<script>
$(document).ready(function() {
$dropdown = $('select').prettyDropdown();
});
// When <select> state changes...
$dropdown.refresh();
</script>
Key | Description |
---|---|
Tab | Put focus on the next drop-down menu. If a menu is open, it will automatically close. |
Shift +Tab | Put focus on the previous drop-down menu. If a menu is open, it will automatically close. |
Enter | Open the drop-down menu that is in focus. If it is already open, then select the highlighted item. |
Esc | Close the drop-down menu. |
Home | Jump to the first item in the drop-down menu. |
End | Jump to the last item in the drop-down menu. |
PgUp | Go to the previous page of items. If there is no scrollbar, then this is the same as Home . |
PgDn | Go to the next page of items. If there is no scrollbar, then this is the same as End . |
Up | Highlight the previous item in the drop-down menu. |
Down | Highlight the next item in the drop-down menu. |
A -Z 0 -9 Space | If the drop-down menu is open, jump to the first item matching the key(s) pressed. Every time you press a key it will cycle through the matching items. Hint: if you type fast enough, it will try to find a match for everything you typed instead of just the first character. If the menu is closed and in focus, Space opens the menu (same as Enter ). |
The following attributes are added to improve accessibility when using alternative input methods (e.g., keyboard, screen reader):
role="listbox"
and role="option"
(to tell screen readers that it's a drop-down menu widget)aria-activedescendant
(points to the currently selected menu item)aria-expanded
(this is true
when the menu is open and false
when it's closed)aria-label
(this is equivalent to the title
attribute for screen readers)aria-labelledby
(points to the <label>
element that is linked to the <select>
if it exists)tabindex="0"
(to allow the widget to get focus)Please submit an issue if there are other ways to improve accessibility.
title
value will be read twice in some screen reader clients (once for title
, once for aria-label
).Choose from one of the following methods:
git clone git@github.com:thdoan/pretty-dropdowns.git
git clone https://github.com/thdoan/pretty-dropdowns.git
bower install pretty-dropdowns
npm install pretty-dropdowns
FAQs
A simple, lightweight jQuery plugin to create stylized drop-down menus.
We found that pretty-dropdowns 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
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.