Uso de HTML en el título de un cuadro de diálogo en jQuery UI 1.10

http://jqueryui.com/upgrade-guide/1.10/#changed-title-option-from-html-to-text

jQuery UI 1.10 lo hizo para que el título del diálogo solo pueda ser texto (no html) para evitar vulnerabilidades de scripting. No estoy permitiendo la entrada del usuario para generar este título, por lo que todavía me gustaría usar HTML, principalmente para mostrar un ícono a la izquierda del título.

Voy a publicar mi solución a este problema porque no he visto a nadie más preguntar o responder esto todavía. Es de esperar que ayude a otra persona u otra persona a tener un mejor enfoque.

Más información sobre por qué lo hicieron: http://bugs.jqueryui.com/ticket/6016

Esto anulará la función utilizada al configurar los títulos de los diálogos de la interfaz de usuario jQuery, lo que le permite contener HTML.

$.widget("ui.dialog", $.extend({}, $.ui.dialog.prototype, { _title: function(title) { if (!this.options.title ) { title.html(" "); } else { title.html(this.options.title); } } })); 

Si duda sobrepasar el método _title de jQuery, puede usar los métodos html, append o similares en el elemento title en el evento abierto del diálogo jQuery, así:

 $("#element").dialog({ open: function() { $(this).find("span.ui-dialog-title").append("" + subtitle + ""); } }); 

Lo anterior analiza el HTML correctamente al pasar por alto el método de título de jQuery. Y como sucede en el evento abierto, la experiencia del usuario permanece sin interrupciones. Acabo de hacer esto en un proyecto, y funcionó maravillosamente.