Javascript 钥匙未点火
我一直在使用jQuery的Keyup方法,但它似乎不适合我。我在JFIDLE上创建了这个,果然它在那里工作。但当上传到网站或在本地运行时,它就不起作用了。我做错了什么Javascript 钥匙未点火,javascript,jquery,keyup,Javascript,Jquery,Keyup,我一直在使用jQuery的Keyup方法,但它似乎不适合我。我在JFIDLE上创建了这个,果然它在那里工作。但当上传到网站或在本地运行时,它就不起作用了。我做错了什么 <html> <head> <title>Untitled Document</title> <script src="http://code.jquery.com/jquery-1.8.3.js"></script> <sc
<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>
无标题文件
$('#TAcomments').keyup(函数(){
var textCount=$(this).val().length;
如果(文本计数10){
$('#TAcomments').stop().animate({fontSize:'16px'});
}
如果(文本计数>20){
$('#TAcomments').stop().animate({fontSize:'14px'});
}
如果(文本计数>30){
$('#TAcomments').stop().animate({fontSize:'10px'});
}
});
您需要等待文档准备就绪
$(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' });
}
});
});
$(文档).ready(函数(){
$('#TAcomments').keyup(函数(){
var textCount=$(this).val().length;
如果(文本计数10){
$('#TAcomments').stop().animate({fontSize:'16px'});
}
如果(文本计数>20){
$('#TAcomments').stop().animate({fontSize:'14px'});
}
如果(文本计数>30){
$('#TAcomments').stop().animate({fontSize:'10px'});
}
});
});
jsfiddle默认在onload事件之后运行代码。您需要将代码包装在脚本中的
$(函数(){/*…*/})
您可以看到,在onDomReady
中运行代码时,代码可以正常工作,非常感谢!为什么需要在文档准备好后运行此操作?因为HTML可能尚未正确加载。。。因此,基本上可能存在一种竞争条件,即当元素在DOM中还不可用时定义事件。如果不等到文档准备就绪,代码只能看到脚本标记上方DOM中的元素。例如,在这种情况下,您将只能针对“head”、“html”、“title”或脚本节点。为什么要执行如此多的复制和粘贴操作来更改一个值?使用变量<代码>$('#TAcomments').stop().animate({fontSize:theValue})编码>并使用否则,如果
!