-1

こんにちは、私は、テキストが div の定義された高さに達したときにユーザーがテキストを入力できる編集可能な div を作成したいと考えてい14pxます入力をやめて、ユーザーは div のテキストを削除しない限り入力できません.... この話が長すぎることはわかっていますが、ここで反抗的に答えを得ることができることはわかっています。http://jsfiddle.net/JW4Qt/3/

脚本

$('.divContent').keydown(function(e){

        var heigh = $(this).height();
        if (($(this).height()) > 200)
        {   
        var font = $('.divContent').css('font-size');
        font = parseInt(font);

        $(this).css('font-size',''+font - 2+'px')

        if(($(this).css('font-size')) <= '14px' && heigh > 200)
        {
            $(this).css('font-size','14px')
            font = 14;

            /*alert('stop')*/

            }

            }
        })

HTML

<div class="divContent"  contenteditable="true" autocomplete="off">
    Start typing here</div>

前もって感謝します.. :)

4

1 に答える 1

2

両方の if 条件を分離し、最初の if 条件で別の条件を渡す必要があります。

$('.divContent').keydown(function(e){

    var heigh = $(this).height();
    if (($(this).height()) > 200 && $(this).css('font-size') >= '16px')
    {   
        var font = $('.divContent').css('font-size');
        font = parseInt(font);

        $(this).css('font-size',(font - 2) + 'px')
    }

    if(($(this).css('font-size')) <= '14px' && heigh > 230)
    {
        $("span").html("<b style='color:#f00'>STOP TYPING...</b>" );
        $(this).css('font-size','14px')
        font = 14;
        if(e.keyCode==8)
        {
         $("span").html("<b style='color:#0f0'>START TYPING...</b>" );
         return true;
        }
        else
        {
         return false;      
        }
    }


})

デモについては、このフィドルを参照してください

于 2013-09-05T10:45:11.747 に答える