---
layout : 'default'
css : 'popup'
element : 'popup'
elementType : 'module'
title : 'Popup'
description : 'A popup displays additional information on top of a page element'
type : 'UI Module'
themes : ['Default']
---
<%- @partial('header', { tabs: 'module' }) %>
If its not possible to include the popup content as the next sibling, you can also specify a custom selector to help link the popup contents to its activator.
I'm not on the same level as the button, but i can still be found.
Specifying a trigger event
A popup trigger event can be specified
$('.example .teal.button')
.popup({
on: 'click'
})
;
$('.example input')
.popup({
on: 'focus'
})
;
Click Me
Target Element
A popup can specify a different target element than itself to show a popup
$('.test.button')
.popup({
position : 'right center',
target : '.test.image',
title : 'My favorite dog',
content : 'My favorite dog would like other dogs as much as themselves'
})
;
Hover Me
Inline or relative to page
A popup can either be inserted directly after an element, or added as a child element to the page's body.
Using inline will allow your popups to go places other popups can't go, like inside fixed or absolutely positioned elements
If you want to style each popup individually it makes sense to keep popup inline: true. If you are worried that your pop up might mistakingly inherit styles that it shouldn't, you should set inline: false.
/* this will only style the popup if inline is true */
.example .popup {
color: #FF0000;
}
$('.inline.icon')
.popup({
inline: true
})
;
Positioning
A popup can be positioned to any side of an element. If space is not available, it will automatically search for a similar alternative position to use.
Specifying an offset
A popup position can be adjusted manually by specifying an offset property using data-offset="value"
Selector or jquery object specifying where the popup should be created
position
top center
Position that the popup should appear
inline
false
If a popup is inline it will be created next to current element, allowing for local css rules to apply. It will not be removed from the DOM after being hidden. Otherwise popups will appended to body and removed after being hidden.
preserve
false
Whether popup contents should be preserved in the page after being hidden, allowing it to re-appear slightly faster on subsequent loads.
on
hover
Event used to trigger popup. Can be either focus, click, hover, or manual. Manul popups must be triggered with $('.element').popup('show');
delay
delay: {
show: 50,
hide: 0
}
Delay in milliseconds before showing or hiding a popup on hover or focus
transition
slide down
Named transition to use when animating menu in and out. Fade and slide down are available without including ui transitions
duration
250
Duration of animation events
closable
true
When using on: 'click' specifies whether clicking the page should close the popup
target
false
If a selector or jQuery object is specified this allows the popup to be positioned relative to that element.
distanceAway
0
Offset for distance of popup from element
offset
0
Offset in pixels from calculated position
maxSearchDepth
10
Number of iterations before giving up search for popup position when a popup cannot fit on screen
Content Settings
Settings to specify popup contents
Setting
Description
variation
Popup variation to use, can use multiple variations with a space delimiter
content
Content to display
title
Title to display alongside content
html
HTML content to display instead of preformatted title and content
DOM Settings
DOM settings specify how this module should interface with the DOM
Setting
Default
Description
namespace
popup
Event namespace. Makes sure module teardown does not effect other events attached to an element.
selector
selector : {
popup : '.ui.popup'
}
DOM Selectors used internally
metadata
metadata: {
content : 'content',
html : 'html',
offset : 'offset',
position : 'position',
title : 'title',
variation : 'variation'
}
HTML Data attributes used to store data
className
className : {
loading : 'loading',
popup : 'ui popup',
position : 'top left center bottom right',
visible : 'visible'
}
Class names used to attach style to state
Debug Settings
Debug settings controls debug output to the console
Setting
Default
Description
name
Popup
Name used in debug logs
debug
True
Provides standard debug output to console
performance
True
Provides standard debug output to console
verbose
True
Provides ancillary debug output to console
errors
error: {
content : 'Your popup has no content specified',
method : 'The method you called is not defined.',
recursion : 'Popup attempted to reposition element to fit, but could not find an adequate position.'
}