乗ってみた。全然確認してないけど、読めば動くはず。
(function ($) {
if ($.browser.safari) return;
var name_space = 'placeholder';
var param = (function () {
var src = $('script[src*="'+name_space+'.js"]').attr('src');
if (!src || src.indexOf('#') < 0) return {};
var result = {};
$.each(src.split('#').pop().split('&'), function () {
var kv = this.split('=');
result[kv[0]] = decodeURIComponent(kv[1]);
});
return result;
})();
$.fn[name_space] = function (options) {
var settings = $.extend({
}, param, options);
var elements = this;
$(elements).each(function () {
var $_ = $(this);
var offset = $_;
var div = $('<div>'+$_.attr('placeholder')+'</div>')
.css({
'position' : 'absolute',
'top' : offset.top,
'left' : offset.left,
'display' : 'none'
})
.appendTo('body')
;
$_.focus(function () {
div.hide();
}).blur(function () {
if ($(this).val()) return;
div.show();
});
});
return this;
};
if (!param.no_exec) $(function () { $('input[placeholder]')[name_space](); });
})(jQuery);
(function ($) {
if ($.browser.safari) return;
var name_space = 'placeholder';
var param = (function () {
var src = $('script[src*="'+name_space+'.js"]').attr('src');
if (!src || src.indexOf('#') < 0) return {};
var result = {};
$.each(src.split('#').pop().split('&'), function () {
var kv = this.split('=');
result[kv[0]] = decodeURIComponent(kv[1]);
});
return result;
})();
$.fn[name_space] = function (options) {
var settings = $.extend({
}, param, options);
var elements = this;
$(elements).each(function () {
var $_ = $(this);
var offset = $_;
var div = $('<div>'+$_.attr('placeholder')+'</div>')
.css({
'position' : 'absolute',
'top' : offset.top,
'left' : offset.left,
'display' : 'none'
})
.appendTo('body')
;
$_.focus(function () {
div.hide();
}).blur(function () {
if ($(this).val()) return;
div.show();
});
});
return this;
};
if (!param.no_exec) $(function () { $('input[placeholder]')[name_space](); });
})(jQuery);
コメントする