Как добавить событие загрузки страницы, чтобы связать операторы для элемента, используя jQuery? - PullRequest
0 голосов
/ 29 октября 2011

В приведенном ниже jQuery я попытался добавить «нагрузку» к библиотеке связывания, чтобы заставить скрипт запускаться при загрузке, чтобы оценить количество символов в текстовой области и установить класс «над», когда это применимо.Однако это не работает.Что я должен добавить в привязку для этого события?

<script type="text/javascript">
    maxCharacters = 160;
    jQuery(document).ready(function()
    {
        var characters = jQuery("#excerpt").val().length;
        jQuery(".c5_counter").text(characters);
        jQuery("#excerpt").bind("keyup keydown load", function()
        {
            var count = jQuery(".c5_counter");
            var characters = jQuery(this).val().length;
            if(characters > maxCharacters)
            {
                count.addClass("over");
            }
            else
            {
                count.removeClass("over");
            }
            //count.text(maxCharacters - characters);
            count.text(characters);
        });
    });
</script>';

1 Ответ

1 голос
/ 29 октября 2011

Почему вы не хотите запускать его при загрузке? Почему бы просто не запустить функцию, когда документ готов к загрузке? Это то, к чему вы стремитесь, если я понимаю ваш вопрос.

Вы можете сделать это так:

maxCharacters = 160;
jQuery(document).ready(function()
{
    var checkForOver = function()
    {
        var count = jQuery(".c5_counter");
        var characters = jQuery("#excerpt").val().length;
        if(characters > maxCharacters)
        {
            count.addClass("over");
        }
        else
        {
            count.removeClass("over");
        }
        //count.text(maxCharacters - characters);
        count.text(characters);
    };

    jQuery("#excerpt").bind("keyup keydown", checkForOver);

    // When we are done binding it, trigger the function
    checkForOver();
});
...