Mobile Safari在触发Jquery Focus事件时不允许输入Textarea?

时间:2011-06-15 03:35:53

标签: jquery textbox mobile-safari mobile-website

我一直在使用Mobile Safari中的文本框问题。包含此功能时:

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

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

此功能会在焦点上调整文本框的大小,但您无法再在文本框中键入内容。在iPhone上,您可以单击键盘上的字母,但不显示任何内容。

我认为这与事件干扰移动safari将字符插入textarea的能力有关,但它非常烦人。

是否有人有修复,或者是否可以触发第二个焦点事件以允许文本显示?

1 个答案:

答案 0 :(得分: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);

});

它适用于遇到此问题的任何人。