精简jquery焦点脚本
Thinning down a jquery focus script?
我有一个非常简单的jQuery脚本,当输入元素聚焦时,它将其宽度扩展到250px(使用focusin()
事件),当焦点丢失时,它将使用focusout()
事件收缩回200px。但是我不确定我是否使用了语法上最有效的代码来实现我想要实现的目标。下面是我当前的代码:
$(document).ready(function() {
$('input').focus(function() {
$(this).animate({
width: "250px"
}, 500);
});
$('input').focusout(function() {
$(this).animate({
width: "200px"
}, 500);
});
});
然而,对我来说,这似乎不必要的笨重。我试过用谷歌搜索,但我找不到合适的关键词来找到任何对我有帮助的结果。要达到这种效果,肯定有更简单的方法,比如切换吧?我该如何做到这一点?
我看不出你所做的有什么不妥。如果你觉得你重复了太多,你可以把一些逻辑拉进animateWidth
函数:
$(document).ready(function() {
function animateWidth(element, width) {
element.animate({ width: width }, 500);
}
$('input').focus(function () { animateWidth($(this), '250px'); })
.focusout(function () { animateWidth($(this), '200px'); });
});
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 单击时将焦点更改为元素
- 借助asp.net验证或java脚本对多个文本进行验证
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- Java脚本时间添加
- 不显示带有本地json文件数据的谷歌地图脚本
- JQuery添加元素需要在我的js之前再次添加JQuery脚本
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 从远程脚本获取用户IP
- 如何根据时间运行不同的脚本
- 如何将字符串值从php页面发送到java脚本页面
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- 当脚本由system.js加载时,如何要求('electron')
- 使用 greasemonkey 禁用现有脚本中的焦点功能
- 在java脚本中,如果页面的焦点丢失,如何将页面重定向到另一个页面
- 精简jquery焦点脚本
- 选项卡失去焦点时的用户脚本性能
- 检测输入焦点事件是否由脚本或鼠标单击触发