JavaScript/jQuery Popover Options
An object defining configuration options for the Popover widget.
See Also
- Configure a Widget: Angular | Vue | React | jQuery | AngularJS | Knockout | ASP.NET MVC 5 | ASP.NET Core
animation
Set this object to null or undefined to disable animation.
closeOnOutsideClick
A Boolean value specifying whether or not the widget is closed if a user clicks outside of the popover window and outside the target element.
Event (jQuery or EventObject)
The event that caused widget closing. It is a dxEvent or a jQuery.Event when you use jQuery.
true if the widget should be closed; otherwise false.
The function passed to this option enables you to specify a custom condition for widget closing. For instance, you can prevent closing until a user clicks a certain element.
var widgetOptions = { // ... closeOnOutsideClick: function(e) { return e.target === $("#someElement").get()[0]; } }
The closeOnOutsideClick function is called when a user clicks the widget or outside it.
container
Specifies the container in which to place the widget.
The default container is defined during the widget's initialization. It is the viewport, or the body element if the viewport is not found, or the parent element if the previous two are absent.
The specified container affects some features of the Popover: the area to be shaded, behavior on scrolling, etc.
contentComponent
An alias for the contentTemplate option specified in React. Accepts a custom component. Refer to Using a Custom Component for more information.
contentRender
An alias for the contentTemplate option specified in React. Accepts a rendering function. Refer to Using a Rendering Function for more information.
deferRendering
Specifies whether to render the widget's content when it is displayed. If false, the content is rendered immediately.
elementAttr
Specifies the attributes to be attached to the widget's root element.
jQuery
$(function(){ $("#popoverContainer").dxPopover({ // ... elementAttr: { id: "elementId", class: "class-name" } }); });
Angular
<dx-popover ... [elementAttr]="{ id: 'elementId', class: 'class-name' }"> </dx-popover>
import { DxPopoverModule } from "devextreme-angular"; // ... export class AppComponent { // ... } @NgModule({ imports: [ // ... DxPopoverModule ], // ... })
ASP.NET MVC Controls
@(Html.DevExtreme().Popover() .ElementAttr("class", "class-name") // ===== or ===== .ElementAttr(new { @id = "elementId", @class = "class-name" }) // ===== or ===== .ElementAttr(new Dictionary<string, object>() { { "id", "elementId" }, { "class", "class-name" } }) )
@(Html.DevExtreme().Popover() _ .ElementAttr("class", "class-name") ' ===== or ===== .ElementAttr(New With { .id = "elementId", .class = "class-name" }) ' ===== or ===== .ElementAttr(New Dictionary(Of String, Object) From { { "id", "elementId" }, { "class", "class-name" } }) )
height
Specifies the widget's height.
This option accepts a value of one of the following types:
Number
The height in pixels.String
A CSS-accepted measurement of height. For example,"55px"
,"80%"
,"inherit"
.Function
A function returning either of the above. For example:JavaScriptheight: function() { return window.innerHeight / 1.5; }
hideEvent
Specifies options of popover hiding.
If you assign only a string that specifies event names on which the widget is hidden, the widget will not apply any delay.
hideEvent: "dxhoverend"
hint
Specifies text for a hint that appears when a user pauses on the widget.
hoverStateEnabled
Specifies whether the widget changes its state when a user pauses on it.
maxHeight
Specifies the maximum height the widget can reach while resizing.
This option accepts a value of one of the following types:
Number
The height in pixels.String
A CSS-accepted measurement of height. For example,"55px"
,"80%"
,"inherit"
.Function
A function returning either of the above. For example:JavaScriptheight: function() { return window.innerHeight / 1.5; }
maxWidth
Specifies the maximum width the widget can reach while resizing.
This option accepts a value of one of the following types:
Number
The width in pixels.String
A CSS-accepted measurement of width. For example,"55px"
,"80%"
,"auto"
,"inherit"
.Function
A function returning either of the above. For example:JavaScriptwidth: function() { return window.innerWidth / 1.5; }
minHeight
Specifies the minimum height the widget can reach while resizing.
This option accepts a value of one of the following types:
Number
The height in pixels.String
A CSS-accepted measurement of height. For example,"55px"
,"80%"
,"inherit"
.Function
A function returning either of the above. For example:JavaScriptheight: function() { return window.innerHeight / 1.5; }
minWidth
Specifies the minimum width the widget can reach while resizing.
This option accepts a value of one of the following types:
Number
The width in pixels.String
A CSS-accepted measurement of width. For example,"55px"
,"80%"
,"auto"
,"inherit"
.Function
A function returning either of the above. For example:JavaScriptwidth: function() { return window.innerWidth / 1.5; }
onContentReady
A function that is executed when the widget's content is ready and each time the content is changed.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only when using Knockout. |
onDisposing
A function that is executed before the widget is disposed of.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if you use Knockout. |
onHidden
A function that is executed after the widget is hidden.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
onHiding
A function that is executed before the widget is hidden.
Information about the event.
Name | Type | Description |
---|---|---|
cancel |
Allows you to cancel overlay hiding. |
|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
onInitialized
A function used in JavaScript frameworks to save the widget instance.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
onOptionChanged
A function that is executed after a widget option is changed.
Information about the event.
Name | Type | Description |
---|---|---|
model |
The model data. Available only if you use Knockout. |
|
fullName |
The path to the modified option that includes all parent options. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
component |
The widget's instance. |
|
name |
The modified option if it belongs to the first level. Otherwise, the first-level option it is nested into. |
|
value | any |
The modified option's new value. |
onShowing
A function that is executed before the widget is displayed.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
onShown
A function that is executed after the widget is displayed.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
onTitleRendered
A function that is executed when the widget's title is rendered.
Information about the event.
Name | Type | Description |
---|---|---|
component |
The widget's instance. |
|
element |
The widget's container. It is an HTML Element or a jQuery Element when you use jQuery. |
|
model |
The model data. Available only if Knockout is used. |
|
titleElement |
The title's container. It is an HTML Element or a jQuery Element when you use jQuery. |
position
An object defining widget positioning options.
Besides the position configuration object, the option can take on the following string values, which are shortcuts for the corresponding position configuration.
- "top" - places the popover over the target element
- "bottom" - places the popover under the target element
- "left" - places the popover to the left of the target element
- "right" - places the popover to the right of the target element
rtlEnabled
Switches the widget to a right-to-left representation.
When this option is set to true, the widget text flows from right to left, and the layout of elements is reversed. To switch the entire application/site to the right-to-left representation, assign true to the rtlEnabled field of the object passed to the DevExpress.config(config) method.
DevExpress.config({ rtlEnabled: true });
See Also
- Right-to-Left Support Demo: DataGrid | Navigation Widgets | Editors
shading
Specifies whether to shade the background when the widget is active.
shadingColor
Specifies the shading color.
This option makes sense only if the shading option is set to true.
showCloseButton
Specifies whether or not the widget displays the Close button.
showEvent
Specifies options for displaying the widget.
If you assign only a string that specifies event names on which the widget is shown, the widget will not apply any delay.
showEvent: "dxclick"
showTitle
A Boolean value specifying whether or not to display the title in the overlay window.
target
The target element associated with the Popover.
This option accepts one of the following values.
A CSS selector, or a jQuery selector if you use jQuery
target: '#targetElement';
A jQuery wrapper
target: $('#targetElement');
A DOM element
target: document.getElementById('#targetElement');
To align the Popover against this element, use the position option.
title
The title in the overlay window.
titleComponent
An alias for the titleTemplate option specified in React. Accepts a custom component. Refer to Using a Custom Component for more information.
titleRender
An alias for the titleTemplate option specified in React. Accepts a rendering function. Refer to Using a Rendering Function for more information.
titleTemplate
Specifies a custom template for the widget title. Does not apply if the title is defined.
See Also
toolbarItems[]
Configures toolbar items.
In the following code, two items are defined on the toolbar: one is plain text, another is the Button widget:
jQuery
$(function() { $("#popoverContainer").dxPopover({ // ... toolbarItems: [{ text: "Title", location: "before" }, { widget: "dxButton", location: "after", options: { text: "Refresh", onClick: function(e) { /* ... */ } } }] }); });
<div id="popoverContainer"> <p>Popover content</p> </div>
Angular
<dx-popover ... > <div *dxTemplate="let data of 'content'"> <p>Popover content</p> </div> <dxi-toolbar-item text="Title" location="before"> </dxi-toolbar-item> <dxi-toolbar-item widget="dxButton" location="after" [options]="{ text: 'Refresh', onClick: refresh }"> </dxi-toolbar-item> </dx-popover>
import { Component } from '@angular/core'; @Component({ selector: 'app-root', templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) export class AppComponent { refresh () { /* ... */ } }
import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { AppComponent } from './app.component'; import { DxPopoverModule } from 'devextreme-angular'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, DxPopoverModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { }
ASP.NET MVC Controls
@(Html.DevExtreme().Popover() <!-- ... --> .ContentTemplate(@<text> <p>Popover content</p> </text>) .ToolbarItems(ti => { ti.Add() .Text("Title") .Location(ToolbarItemLocation.Before); ti.Add() .Widget(w => w.Button() .Text("Refresh") .OnClick("refresh")) .Location(ToolbarItemLocation.After); } ) <script type="text/javascript"> function refresh() { /* ... */ } </script>
Vue
<template> <DxPopover ... > <p>Popover content</p> <DxToolbarItem text="Title" location="before"> </DxToolbarItem> <DxToolbarItem widget="dxButton" :options="buttonOptions" location="after"> </DxToolbarItem> </DxPopover> </template> <script> import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import DxPopover, { DxToolbarItem } from 'devextreme-vue/popover'; export default { components: { DxPopover }, data() { return { buttonOptions: { text: 'Refresh', onClick: function(e) { /* ... */ } } } } } </script>
React
import React from 'react'; import 'devextreme/dist/css/dx.common.css'; import 'devextreme/dist/css/dx.light.css'; import { Popover, ToolbarItem } from 'devextreme-react/popover'; class App extends React.Component { constructor() { this.buttonOptions = { text: 'Refresh', onClick: function(e) { /* ... */ } }; } render() { return ( <Popover ... > <p>Popover Content</p> <ToolbarItem text="Title" location="before"> </ToolbarItem> <ToolbarItem widget="dxButton" location="after" options={this.buttonOptions}> </ToolbarItem> </Popover> ); } } export default App;
visible
A Boolean value specifying whether or not the widget is visible.
You can show and hide the widget by changing the value of an observable variable passed to this option.
The widget is automatically hidden after the time specified in the displayTime option.
width
Specifies the widget's width.
This option accepts a value of one of the following types:
Number
The width in pixels.String
A CSS-accepted measurement of width. For example,"55px"
,"80%"
,"auto"
,"inherit"
.Function
A function returning either of the above. For example:JavaScriptwidth: function() { return window.innerWidth / 1.5; }