0

我一直在使用 jQuery 的 Keyup 方法,但它似乎对我不起作用。我在 Jfiddle 上创建了这个,果然它在那里工作。但是,当将其上传到网站或在本地运行时,它不起作用。我在这里做错了什么?

<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 回答