0

由于我对某些浏览器不支持“占位符”-Tag这一事实不满意,我想:“为什么不开发一个JS-Workaround,当JS大部分可用时”。

所以我构建了一个表单输入搜索,它使所有占位符在 JS 中的行为具有一个优点:onFocus 将清除该字段!占位符不清除 onFocus 字段的事实是这样做的另一个原因。所以这里是代码,请随意使用和更改它:

4

1 回答 1

1
$('form').each(function(){
                var f = $(this);
                f.find('input[type=text]').each(function(){
                    var s = $(this);
                    var attr = s.attr('placeholder'); 
                    if (attr && $.trim(attr)!='') {
                        $.extend(this,{oldPlaceholder: s.attr('placeholder')})
                        s.removeAttr('placeholder');

                        if ($.trim(this.value)=='') {
                            this.value = this.oldPlaceholder;
                        }


                        s.focus(function(){
                            if ($.trim(s.val())==this.oldPlaceholder) {
                                s.val('');
                            }
                        });

                        s.blur(function(){
                            if ($.trim(s.val())=='') {
                                s.val(this.oldPlaceholder);
                            }
                        });
                    }
                });

                f.submit(function(){
                    $(this).find('input[type=text]').each(function(){
                        if (this.oldPlaceholder && $.trim(this.value)==this.oldPlaceholder) {
                            this.value = '';
                        }
                    });
                });
            });
于 2012-12-22T16:05:26.063 回答