javascript - jQuery onfocus 和 onblur 事件缩小

标签 javascript jquery

正如您所看到的,当用户输入文本时,我试图增加文本字段的高度,当用户点击离开时(元素失去焦点),我将其变小。

有没有更简单的方法来编写以下代码?

简单的 HTML 输入字段:

<input type="text" />

jQuery:

$(document).ready(function() {

    $('input').on('focus', function() {
        $(this).height('20px');
    });

    $('input').on('blur', function() {
        $(this).height('12px');
    });

});

最佳答案

仅使用 CSS 即可更有效地完成此操作,但使用 jQuery,您可以使用事件委托(delegate)。

$(document).on('focus blur', 'input', function(e) {
    $(this).height(e.type === 'focusin' ? '20px' : '12px');
})

为了完整起见,这里是 CSS 解决方案:

input {
    height: 12px;
}
input:focus {
    height: 20px;
}

关于javascript - jQuery onfocus 和 onblur 事件缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31503677/

相关文章:

javascript - 更新 URL 而不刷新页面

javascript - 无法创建具有数组作为属性的对象

javascript - 如何使用Jquery获取当前游标的字符串值?

javascript - 有没有办法在 Node.js 中强制执行同步函数调用?

jquery-animate - 可以使 jquery.live() 与负载一起工作吗?

jquery - 我怎样才能把我的 div 恢复到原来的宽度?

jquery启动时出错

c# - 我们如何从矩阵中获取旋转 Angular ?

javascript - 将 json 值插入到下拉框中

javascript - 如何将 {text} (不带引号)添加到 PHP 中的 Google Chart API 数组?