jQuery Mobile Button Включить / отключить и AutoSize TextArea автоматически после изменения - PullRequest
3 голосов
/ 01 мая 2011
  • Как отключить / включить кнопку? который не в форме, в navBar. Я попробовал несколько примеров, все не удалось.

  • Я изменяю свой текстовый текст $("textarea").val(x); Текст меняется, проблема с автоматическим изменением размера, не возникает, я вижу уродливую полосу прокрутки сбоку, Если я вручную изменяю ее размер, его ОК ... есть метод принудительного обновления или что-то в этом роде?

Спасибо

Обновление (TextArea):

Если я нажимаю на текстовую область, а затем нажимаю любую клавишу -> она открывается как должно быть, Я пытаюсь смоделировать это ... но не удается, привязка работает, но триггер для нажатия клавиш / нажатия клавиш не работает, я пробовал некоторые коды из Google, это должно работать, я думаю, может быть, для номинального jQuery 1.6, но не JQuery Mobile .. Мой тест на Chrome и iPhone 4

$('#textarea').bind('click', function() {
    var e = jQuery.Event("keypress", { keyCode: 64 });
    $(this).trigger( e );
});

Ответы [ 2 ]

2 голосов
/ 31 октября 2011

ОБНОВЛЕНИЕ:

Пример кнопки ссылки:

JS

var clicked = false;

$('#myButton').click(function() {
    if(clicked === false) {
        $(this).addClass('ui-disabled');
        clicked = true;
        alert('Button is now disabled');
    } 
});

$('#enableButton').click(function() {
    $('#myButton').removeClass('ui-disabled');
    clicked = false; 
});

HTML

<div data-role="page" id="home">
    <div data-role="content">

        <a href="#" data-role="button" id="myButton">Click button</a>
        <a href="#" data-role="button" id="enableButton">Enable button</a>

    </div>
</div>

ПРИМЕЧАНИЕ: - http://jquerymobile.com/demos/1.0rc2/docs/buttons/buttons-types.html

Ссылки в стиле кнопок имеют все те же визуальные параметры, что и trueКнопки на основе форм ниже, но есть несколько важных отличий.Кнопки, основанные на ссылках, не являются частью плагина кнопки, а только используют базовый плагин buttonMarkup для генерации стилей кнопок, поэтому методы кнопки формы (включить, отключить, обновить) не поддерживаются.Если вам нужно отключить основанную на ссылках кнопку (или любой другой элемент), можно применить самостоятельно отключенный класс ui-disabled с помощью JavaScript для достижения того же эффекта.

1 голос
/ 03 января 2012

Что касается вашего второго вопроса, вы можете заставить текстовую область автоматически расти, вызвав для нее событие keyup().

Учитывая ваш оригинальный пример кода, у меня работает следующее:

/*Note: I'm using 'on' instead of 'bind', because that's what I've actually tested 
with, but I'm pretty sure this will work with 'bind' as well*/
$('#textarea').on('click', function() {
    //First we'll add some text to #textarea
    $('#textarea').val('some dummy text to be added to the textarea');
    //Then we trigger keyup(), which causes the textarea to grow to fit the text
    $('#textarea').keyup();
});

Короткая и приятная версия вышеприведенного, на этот раз с цепочкой и без комментариев:

$('#textarea').on('click', function() {
    $(this).val('some dummy text to be added to the textarea').keyup();
});

Адаптировано с здесь .

...