Dropdown
Materialize is a modern responsive CSS framework based on Material Design by Google.
Initialization
Copied!
content_copy
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.dropdown-trigger');
var instances = M.Dropdown.init(elems, {
// specify options here
});
});
Options
Name | Type | Default | Description |
---|---|---|---|
alignment | String | 'left' | Defines the edge the menu is aligned to. |
autoTrigger | Boolean | true | If true, automatically focus dropdown el for keyboard. |
constrainWidth | Boolean | true | If true, constrainWidth to the size of the dropdown activator. |
container | Element | null | Provide an element that will be the bounding container of the dropdown. |
coverTrigger | Boolean | true | If false, the dropdown will show below the trigger. |
closeOnClick | Boolean | true | If true, close dropdown on item click. |
hover | Boolean | false | If true, the dropdown will open on hover. |
inDuration | Number | 150 | The duration of the transition enter in milliseconds. |
outDuration | Number | 250 | The duration of the transition out in milliseconds. |
onOpenStart | Function | null | Function called when dropdown starts entering. |
onOpenEnd | Function | null | Function called when dropdown finishes entering. |
onCloseStart | Function | null | Function called when dropdown starts exiting. |
onCloseEnd | Function | null | Function called when dropdown finishes exiting. |
Examples
document.addEventListener('DOMContentLoaded', function() {
var elems = document.querySelectorAll('.dropdown-trigger')[0];
var instances = M.Dropdown.init(elems, {
// the dropdown is aligned to left
alignment: 'left',
// enabled for example to be visible
constrainWidth: false,
});
});
Methods
All the methods are called on the plugin instance. You can get the plugin instance like this:
Copied! content_copyvar instance = M.Dropdown.getInstance(elem);
.open();
Open dropdown.
instance.open();
.close();
Close dropdown.
instance.close();
.recalculateDimensions();
While dropdown is open, you can recalculate its dimensions if its contents have changed.
instance.recalculateDimensions();
.destroy();
Destroy plugin instance and teardown
instance.destroy();
Properties
Name | Type | Description |
---|---|---|
el | Element | The DOM element the plugin was initialized with. |
options | Object | The options the instance was initialized with. |
id | String | ID of the dropdown element. |
dropdownEl | Element | The DOM element of the dropdown. |
isOpen | Boolean | If the dropdown is open. |
isScrollable | Boolean | If the dropdown content is scrollable. |
focusedIndex | Number | The index of the item focused. |