首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery - focusIn和textareas中的新手

jQuery - focusIn和textareas中的新手
EN

Stack Overflow用户
提问于 2012-04-01 18:14:02
回答 1查看 1.1K关注 0票数 0

我的密码被困住了。我使用focusin()函数来检测文本区域上的用户交互。我的概念:

  • first init => all被折叠,自动高度(50 be )
  • 第一聚焦-在=>中,聚焦元素将扩展到更多像素(150 Be)
  • ,现在,我知道,每次我得到一个新的焦点,我的任何元素,我有一个,目前是开放的。因此,我为这个想法创建了一个原始例程:

代码语言:javascript
复制
var active = false;
myTextAreas.focusin(function() { 
    if (active == true) {
        myTextAreas.animate({"height" : 50}, 300);
        $(this).animate({"height" : 150}, 500); 
    } else {
        $(this).animate({"height" : 150}, 500);
        active = true;
    };

myTextAreas =>对象与我的HTML (textareas)。第一次=>做every,第二次=>总是if-语句,它每次都调整所有元素的大小,而不是将我的元素移动到更高的位置。它主要起作用,但是当我第一次做我的小脚本时,我的框是先调整大小的,而另一个框是新的聚焦在一起的,它用新的动画()函数开始得太早了。那就成功了..。嗯。但我觉得我的密码没那么漂亮?

我在我的概念中错过了一个特征。当我聚焦于任何文本区域时,我想让所有元素返回动画,类似于if-语句中的效果。但我怎么能说,做到这一点,但只在我的其他元素,而不是我的集中在文本领域?

也许我的观念不好?我想要一个新的..。顺便说一下。

EN

回答 1

Stack Overflow用户

发布于 2012-04-01 18:33:11

您可以通过使用jquery模糊事件绑定来清除活动变量/需要跟踪' active‘状态??而且不需要在所有输入字段上调用动画。

代码语言:javascript
复制
myTextAreas.on('focus',function() { 
  $(this).animate({ height : 150 }, 500);  
});

myTextAreas.on('blur',function() { 
$(this).animate({ height : 50 }, 300);
});

演示:http://jsbin.com/axatin/3/edit#javascript,html,live

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9966919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档