Remote autocomplete not working on cached page

Remote autocomplete not working on cached page

    Hi! I'm using remote autocomplete written on the basis of this example  http://demos.jquerymobile.com/1.4.2/listview-autocomplete-remote/

    1. $(document).on("pagecreate", "#main-page", function(){
    2.       $("#autocomplete").on("filterablebeforefilter", function(e, data){
    3.             var $ul = $(this),
    4.                   $input = $( data.input ),
    5.                   value = $input.val(),
    6.                   html = "";
    7.             $ul.html( "" );
    8.             if( value && value.length > 2 ){
    9.                   $ul.html( "<li><div class=\'ui-loader\'><span class=\'ui-icon ui-icon-loading\'></span></div></li>" );
    10.                   $ul.listview( "refresh" );
    11.                   $.ajax({
    12.                         url: "url hided",            // I hide url for this forum :)
    13.                         dataType: "json",
    14.                         crossDomain: true,
    15.                         data: {
    16.                               q: value
    17.                         }
    18.                     })
    19.                   .then( function ( response ) {
    20.                         $.each( response, function ( i, val ) {
    21.                               html += val;
    22.                         });
    23.                         $ul.html( html );
    24.                         $ul.listview("refresh");
    25.                         $ul.trigger("updatelayout");
    26.                   });
    27.             }
    28.       });
    29. });

    When I load page first time or reload - autocomplete working is fine. But when I close browser and start browser again, browser loads page from cache and autocomplete not working - no requests to server (tried different browsers, the same result). I guess problem is  pagecreate event, but I don't know how to fix it.

    Please tell me how to fix this problem. Thanks.