Mootools: Как изменить класс CSS, если выполняются следующие условия - PullRequest
0 голосов
/ 26 ноября 2010

Я хочу изменить класс меток на «labelDeactivation», если текстовая область не сфокусирована и содержит более 10 символов. Как мне это сделать? Пробовал пару решений, но не повезло :-(. Кстати, если условия не выполняются, он должен вернуться к этикетке.

<p class="label">Your review</p>
<textarea id="review" name="review"></textarea>

Ответы [ 2 ]

1 голос
/ 26 ноября 2010

http://www.jsfiddle.net/7SmwU/

document.id("review").addEvents({
    keyup: function() {
        if (this.get("value").trim().length >= 10)
            this.getPrevious().addClass("labelDeactivated");
        else
            this.getPrevious().removeClass("labelDeactivated");
    }
});

кстати, используйте <label for='review'>your review</label> - улучшенная семантическая разметка и доступность.

0 голосов
/ 02 декабря 2010

Закончено этим решением: http://jsfiddle.net/kkgp2/

var headline = $$('.headline');
var headlineLabel = $$('.headlineLabel');
var headlineNote = $$('.headlineNote');

// Change label //
headline.addEvent('blur', function(){
    headlineNote.fade('hide');
    if (this.value.length>10) {
        headlineLabel.addClass('labelDone');
    }
    else{
        headlineLabel.removeClass('labelDone');
    };
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...