2011-06-15 38 views
1

我一直在移動Safari的文本框問題。當包括這樣的功能:Mobile Safari當Jquery Focus事件被觸發時,不允許在Textarea中鍵入?

$("#text_comment").live('focus', function() { 
    $(this).css('height','50px'); 
}); 

$("#text_comment").live('focusout', function() { 
    $(this).css('height','23px'); 
}); 

功能重新調整焦點的文本框,但你可以在文本框中不再類型。在iPhone上,您可以單擊鍵盤上的字母,但不顯示任何內容。

我認爲它與干擾移動Safari瀏覽器插入字符到textarea的能力有關,但這非常煩人。

是否有人有修復程序,或者可以觸發第二個焦點事件以允許文本顯示?

+0

我已經在我的iPhone上測試了上面的代碼,只有一個文本區域的空白頁,它似乎工作得很好。我唯一的建議是,你應該使用焦點/模糊或focusin/focusout處理事件而不是兩者的混合。 – 2011-06-15 04:20:38

+0

感謝您的評論。我發現這個錯誤,這是iOS 4.2.1附帶的移動Safari的一個問題。感謝您對它進行測試。我將在下面發佈我的解決方案。謝謝,我現在將使用焦點/模糊。 – TaylorMac 2011-06-15 06:51:27

+0

我正在使用iOS 5(因爲我是開發人員),這可以解釋爲什麼它對我來說工作得很好。蘋果必須修復這個錯誤。 – 2011-06-15 06:53:45

回答

1

因此,這裏是我的解決方案,以我自己的問題:

$('#text_comment, searchinput, timestamp').live('keypress', function(event) { 

     var txt = $('#spn').text(); 
     var pressed = (txt + String.fromCharCode(event.keyCode)); 

    var el = this; 

    setTimeout(function() { 
     var string = $(el).val(); 
     if(string.length < 1) { 
      $(el).val(pressed); 
     } 
    }, 100); 

}); 

它應該有這個問題的人合作。

相關問題