2013-05-21 20 views
6

Próbuję dodać "dziennik zmian" do mojej aplikacji mobilnej jQuery. W przypadku błędu, użytkownik powinien mieć możliwość, aby zobaczyć, co poszło nie tak. Mam do nich realizowany jest okienko z textarea (patrz kod poniżej)Przewiń do góry jQuery-Textarea

 <!-- DIALOG Start--> 
     <div data-role="popup" id="popupLog" data-overlay-theme="a" data-theme="b" style="max-width:400px;" class="ui-corner-all"> 
     <div data-role="header" data-theme="b" class="ui-corner-top"> 
     <h1>Logg-Einträge:</h1> 
     </div> 
     <div data-role="none" data-theme="b" class="ui-corner-bottom ui-content"> 
     <textarea style="height: 120px; max-height: 120px" readonly="readonly" data-mini="true" cols="40" rows="8" id="popupTextArea"></textarea> 
     <a href="#" data-role="button" data-inline="true" id="btn_textArea" data-rel="back" data-theme="c">OK</a>  
     </div> 
     </div> 
     <!-- DIALOG End--> 

To Popup jest wypełniona danymi i otwarty po kliknięciu konkretnego przycisku:

$('#showLog').click(function() { 
    $("#popupDialog").popup("close"); 
    // populate the textArea with the text 
    $("#popupTextArea").text(sessionStorage.getItem("logStack")); 
    // open popUp after a specific time 
    setTimeout(function(){$('#popupLog').popup('open'); 
     }, 1000); 
}); 

Wszystkie funkcje działa poprawnie do tego momentu. Problem polega na tym, że: Gdy użytkownik przewinie w dół w obszarze tekstowym, zamknie popUp i ponownie go otworzy, pozycja rolki będzie nadal taka sama - na przykład użytkownik przewinie do dołu, zamknie pop-up i otworzy go ponownie - popUp będzie na dole textarea agein. Ale chciałbym uzyskać zawsze na wierzchu textarea, gdy popUp jest ponownie opend. Dla realizacji tego, mam wdrożyła „OK” -Button w tym popup następująca, która zamyka popup i ustawić scrollingTop 0:

$('#btn_textArea').click(function() { 
// Setting position of the textArea to "0" -> But doesn't work..... 
    $('#popupTextArea').scrollTop(0); 
    ); 
}); 

mam struggeling w tym momencie, ponieważ pojawienie się textArea jest wciąż taki sam. Czy potrzebuję odświeżenia czy coś takiego? Byłbym bardzo wdzięczny za każdą pomoc ....

Odpowiedz

1

Można użyć „popupbeforeposition” zdarzenie manipulować właściwość scrollTop z pola tekstowego:

$(document).ready(function(){ 

    $("#exampleWindow").on("popupbeforeposition", function(evt, ui){ 

     $(this).find("textarea").scrollTop(0); 

    }); 

}); 

Tutaj masz jsfiddle na przykładzie: http://jsfiddle.net/elchininet/eBp7S/

Powiązane problemy