jquery输入自动调整大小

发布于 2024-10-29 19:45:29 字数 799 浏览 1 评论 0原文

我有一些 jquery 可以在单击时平滑地调整文本输入的大小。一切正常,除了一个小问题,当您单击远离该字段时,该字段会重置。

烦人的部分是,当您在字段中输入内容,然后单击远离字段时,您输入的所有数据都会被删除。

如何让它不清除用户单击时输入的文本?

这是 jsfiddle

这是 jquery:

    var inputWdith = '250px';
    var inputWdithReturn = '140px';     
    $(document).ready(function() {
        $('input').focus(function(){

            $(this).val(function() {
                $(this).val(''); 
            });

            $(this).animate({
                width: inputWdith
            }, 400 )
        }); 

        $('input').blur(function(){
            $(this).val('Enter info...');
            $(this).animate({
                width: inputWdithReturn
            }, 500 )
        });
    });

I have some jquery that smoothly resizes a text input on click. It all works well except a small issue when you click away from the field, the field resets.

The annoying part is when you type into the field, then click away from the field, all data you input is removed.

How do I get it to NOT clear the text that was input when the user clicks away?

Heres a jsfiddle

and

Here is the jquery:

    var inputWdith = '250px';
    var inputWdithReturn = '140px';     
    $(document).ready(function() {
        $('input').focus(function(){

            $(this).val(function() {
                $(this).val(''); 
            });

            $(this).animate({
                width: inputWdith
            }, 400 )
        }); 

        $('input').blur(function(){
            $(this).val('Enter info...');
            $(this).animate({
                width: inputWdithReturn
            }, 500 )
        });
    });

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

自由范儿 2024-11-05 19:45:30

工作js小提琴: http://jsfiddle.net/NcwZA/1/

$('input').focus(function(){
    if($(this).val()=='Enter info...'){
        $(this).val('');
    }

    //animate the box
    $(this).animate({
        width: inputWdith
    }, 400 )
}); 

$('input').blur(function(){
    if($(this).val()==''){
        $(this).val('Enter info...');
    }

    $(this).animate({
        width: inputWdithReturn
    }, 500 )

});

Working js fiddle: http://jsfiddle.net/NcwZA/1/

$('input').focus(function(){
    if($(this).val()=='Enter info...'){
        $(this).val('');
    }

    //animate the box
    $(this).animate({
        width: inputWdith
    }, 400 )
}); 

$('input').blur(function(){
    if($(this).val()==''){
        $(this).val('Enter info...');
    }

    $(this).animate({
        width: inputWdithReturn
    }, 500 )

});
空城缀染半城烟沙 2024-11-05 19:45:30

如果该字段为空,您只需要进行模糊处理。

$('input').blur(function(){
    if ($(this).is(":empty")){
        $(this).val("Enter info...")
            .animate({
                width: inputWdithReturn
            }, 500 );
    }
});

You'll only need to do the blur stuff if the field is blank.

$('input').blur(function(){
    if ($(this).is(":empty")){
        $(this).val("Enter info...")
            .animate({
                width: inputWdithReturn
            }, 500 );
    }
});
耳钉梦 2024-11-05 19:45:30

问题出在 blur 事件中。没有条件不替换用户输入的内容。

The problem is in the blur event. There is no condition to not replace the content the user has entered.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文