0

私はjQueryのKeyupメソッドを使用していますが、うまくいかないようです。私はこれをJfiddleで作成しましたが、そこでは十分に機能します。ただし、Webサイトにアップロードしたり、ローカルで実行したりすると、機能しません。私はここで何が間違っているのですか?

<html>
  <head>
    <title>Untitled Document</title>
    <script src="http://code.jquery.com/jquery-1.8.3.js"></script>
    <script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
    <script>
      $('#TAcomments').keyup(function() {
        var textCount = $(this).val().length;
        if(textCount <= 10) {
          $('#TAcomments').stop().animate({ fontSize : '22px' });
        }
        if(textCount > 10) {
          $('#TAcomments').stop().animate({ fontSize : '16px' });
        }
        if(textCount > 20) {
          $('#TAcomments').stop().animate({ fontSize : '14px' });
        }
        if(textCount > 30) {
          $('#TAcomments').stop().animate({ fontSize : '10px' });
        }
      });
    </script>
  </head>
  <body>
    <textarea id="TAcomments" style="width: 400px; height: 300px; font-size: 22px;"></textarea>
  </body>
</html>
4

2 に答える 2

2

ドキュメントの準備が整うまでお待ちください。

$(document).ready(function(){
    $('#TAcomments').keyup(function() {
        var textCount = $(this).val().length;
        if(textCount <= 10) {
            $('#TAcomments').stop().animate({ fontSize : '22px' }); 
        }
        if(textCount > 10) {
           $('#TAcomments').stop().animate({ fontSize : '16px' });               
        }
        if(textCount > 20) {
           $('#TAcomments').stop().animate({ fontSize : '14px' });   
        }
        if(textCount > 30) {
           $('#TAcomments').stop().animate({ fontSize : '10px' });   
        }
    });
});

jsfiddle は、デフォルトで onload イベントの後にコードを実行します。

于 2012-11-28T18:33:16.113 に答える
0

のスクリプトでコードをラップする必要があります。コードを で実行すると、ここ$(function () { /* ... */ }); でコードが機能することがわかります。onDomReady

于 2012-11-28T18:33:28.277 に答える