Jquery 焦点移出时返回默认输入值

发布于 2024-10-07 16:13:00 字数 346 浏览 3 评论 0原文

我有一个默认值“搜索”的搜索输入。

alt text

当我专注于输入时,值会被清除。

$(document).ready(function(){
    $('#search').focus(function() {           
        if($(this).val() == "Search for") 
        $(this).val('');
    });
});

如果您不输入任何内容进行搜索,那么在聚焦时返回默认“搜索”值的好方法是什么?

I have a search input with a default value "Search for".

alt text

When I focus on the input the value clears.

$(document).ready(function(){
    $('#search').focus(function() {           
        if($(this).val() == "Search for") 
        $(this).val('');
    });
});

If you don't type anything to search, what would be a good way to return the default "Search for" value when focusing out?

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

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

发布评论

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

评论(4

不知在何时 2024-10-14 16:13:00

这是为您提供的一些快速代码。它将使用 jQuery 数据方法来保存一个 bool 值,表明用户已经输入了一些内容。如果用户没有输入任何内容,它将再次显示文本。

$("#search").blur(function() {
    if (!$(this).data('hasTyped')) {
        $(this).val('Search for');
    }
}).keyup(function() {
    $(this).data('hasTyped', this.value.length);
}).focus(function() {
    if (!$(this).data('hasTyped')) {
        $(this).val('');
    }
});

示例: http://jsfiddle.net/jonathon/dbbBh/

Here's a quick bit of code for you. It will use the jQuery data method to save a bool indicating that the user has typed something. If the person doesn't type anything, it'll show the text again.

$("#search").blur(function() {
    if (!$(this).data('hasTyped')) {
        $(this).val('Search for');
    }
}).keyup(function() {
    $(this).data('hasTyped', this.value.length);
}).focus(function() {
    if (!$(this).data('hasTyped')) {
        $(this).val('');
    }
});

Example: http://jsfiddle.net/jonathon/dbbBh/

黑凤梨 2024-10-14 16:13:00

如果您已经在使用 jQuery,为什么不使用水印插件?为什么需要重新发明轮子?

如果你必须自己做这件事,

$(document).ready(function(){
    $('#search').focus(function() {           
        if($(this).val() == "Search for") 
        $(this).val('');
    }).focusout(function() {
      if($(this).val() === '')
         $(this).val('Search for');
    });
});

Why not use a watermark plugin if you're already using jQuery? Why the need for a reinvented wheel?

If you must do this on your own,

$(document).ready(function(){
    $('#search').focus(function() {           
        if($(this).val() == "Search for") 
        $(this).val('');
    }).focusout(function() {
      if($(this).val() === '')
         $(this).val('Search for');
    });
});
国际总奸 2024-10-14 16:13:00

怎么样

$("#search").focusout(function() {
$(this).val('Search for');
});

使用焦点输出或模糊

    $('#search').focus(function(){
// focus logic goes here


}).blur(function(){

  $(this).val('Search for');

});

what about using focos out

$("#search").focusout(function() {
$(this).val('Search for');
});

or blur

    $('#search').focus(function(){
// focus logic goes here


}).blur(function(){

  $(this).val('Search for');

});
歌入人心 2024-10-14 16:13:00

相同但“颠倒”又如何呢?

$('#search').blur(function() {
    if($(this).val() == "" ) { 
        $(this).val('Search for');
    }
});

What about the same but "inverted"?

$('#search').blur(function() {
    if($(this).val() == "" ) { 
        $(this).val('Search for');
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文