@ Ds111 s ile benzer bir sorun yaşadım. Web sitem klavye tarafından yukarı itildi, ancak klavye kapandığında aşağı hareket etmedi.
Önce @ ds111 çözümünü denedim ama iki alanım vardı input. Tabii ki, önce klavye kaybolur, sonra bulanıklık olur (veya bunun gibi bir şey). Böylece inputodak doğrudan bir girişten diğerine geçtiğinde klavyenin altındaydı.
Ayrıca, tüm sayfa sadece ipad boyutuna sahip olduğundan, "yukarı atlamak" benim için yeterince iyi değildi. Bu yüzden kaydırmayı düzgünleştirdim.
Son olarak, olay dinleyicisini, şu anda gizlenmiş olan tüm girişlere, dolayısıyla live.
Hep birlikte aşağıdaki javascript snippet'ini şu şekilde açıklayabilirim: Aşağıdaki bulanıklaştırma olay dinleyicisini geçerli ve tüm geleceğe ekleyin inputve textarea(= live): Ek süre (= window.setTimeout(..., 10)) bekleyin ve sorunsuz bir şekilde yukarı (= animate({scrollTop: 0}, ...)) kaydırın, ancak yalnızca "klavye yoksa gösterilir "(= if($('input:focus, textarea:focus').length == 0)).
$('input, textarea').live('blur', function(event) {
window.setTimeout(function() {
if($('input:focus, textarea:focus').length == 0) {
$("html, body").animate({ scrollTop: 0 }, 400);
}
}, 10)
})
Yetkisiz kullanım süresinin (= 10) çok kısa olabileceğini inputveya textareaodaklanmasa da odaklanmasa da klavyenin gösterilebileceğini unutmayın . Tabii ki, daha hızlı veya daha yavaş kaydırmayı istiyorsanız, süreyi (= 400) ayarlayabilirsiniz.