diff options
author | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2015-10-28 19:11:07 +0100 |
---|---|---|
committer | Jörn Zaefferer <joern.zaefferer@gmail.com> | 2015-10-28 19:48:35 +0100 |
commit | 9644e7bae9116edaf8d37c5b38cb32b892f10ff6 (patch) | |
tree | 8382c72940703f1ef70c17e83733e660075ed4ce | |
parent | 3e9e9d58ec47a4cbb917193bb64f6fc6e6fc2cb9 (diff) | |
download | jquery-ui-9644e7bae9116edaf8d37c5b38cb32b892f10ff6.tar.gz jquery-ui-9644e7bae9116edaf8d37c5b38cb32b892f10ff6.zip |
Dialog: Escape closeText option before passing it to button
Ref gh-1632
Fixes jquery/api.jqueryui.com#281
-rw-r--r-- | tests/unit/dialog/options.js | 7 | ||||
-rw-r--r-- | ui/widgets/dialog.js | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/tests/unit/dialog/options.js b/tests/unit/dialog/options.js index 6d3a619bd..ab9ace259 100644 --- a/tests/unit/dialog/options.js +++ b/tests/unit/dialog/options.js @@ -206,7 +206,7 @@ test( "closeOnEscape", function() { } ); test( "closeText", function() { - expect( 3 ); + expect( 4 ); var element = $( "<div></div>" ).dialog(); equal( $.trim( element.dialog( "widget" ).find( ".ui-dialog-titlebar-close" ).text() ), "Close", @@ -222,6 +222,11 @@ test( "closeText", function() { equal( $.trim( element.dialog( "widget" ).find( ".ui-dialog-titlebar-close" ).text() ), "bar", "closeText via option method" ); element.remove(); + + element = $( "<div></div>" ).dialog( { closeText: "<span>foo</span>" } ); + equal( $.trim( element.dialog( "widget" ).find( ".ui-dialog-titlebar-close" ).text() ), "<span>foo</span>", + "closeText is escaped" ); + element.remove(); } ); test( "draggable", function() { diff --git a/ui/widgets/dialog.js b/ui/widgets/dialog.js index f0a2f6751..c3ca95ed3 100644 --- a/ui/widgets/dialog.js +++ b/ui/widgets/dialog.js @@ -426,7 +426,7 @@ $.widget( "ui.dialog", { // dialog in IE (#9312) this.uiDialogTitlebarClose = $( "<button type='button'></button>" ) .button( { - label: this.options.closeText, + label: $( "<a>" ).text( this.options.closeText ).html(), icon: "ui-icon-closethick", showLabel: false } ) @@ -715,7 +715,7 @@ $.widget( "ui.dialog", { this.uiDialogTitlebarClose.button( { // Ensure that we always pass a string - label: "" + value + label: $( "<a>" ).text( "" + this.options.closeText ).html() } ); } |