Я не уверен, что вы подразумеваете под "which is a very unwanted behavior"
, но если вы хотите, чтобы код запускался только один раз для диалога, добавьте проверку, чтобы увидеть, инициализирован ли он еще:
$(document).delegate('#about', 'pageinit', function () {
if ($(this).hasClass('ui-dialog') === false) {
//code in here will only run once per page load/refresh
}
});
jQueryMobile добавляет классы к каждому из инициализируемых виджетов. Вы можете проверить виджеты этих классов, чтобы проверить, были ли они инициализированы или нет.