9

我想检查运行我的页面的浏览器是否能够处理“html 5 占位符”

我知道我可以添加以下 javascript 检查:

!Modernizr.input.placeholder

但是仅仅为了一次检查就值得导入一个库吗?

Modernizr 是如何为我做到这一点的(我的意思是它是如何在幕后实现的)?

4

4 回答 4

9

如果您想检查placeholder支持,那么您需要做的就是;

var placeholderSupport = "placeholder" in document.createElement("input");

并回答您的其他问题;,包括 1 行 JS 的整个 Modernizr 库绝对没有意义(Modernizr 是 1000 多行......看图 :))*

*是的,没有缩小,但概念仍然存在

于 2011-11-04T13:49:29.350 回答
7

例如,您只需选择“输入属性”即可从modernizr 中获得所需的内容并生成构建

http://www.modernizr.com/download/

于 2011-11-04T13:52:36.463 回答
3

它是开源的。去读吧。

Modernizr['input'] = (function( props ) {
  for ( var i = 0, len = props.length; i < len; i++ ) {
    attrs[ props[i] ] = !!(props[i] in inputElem);
  }
  return attrs;
})(('autocomplete autofocus list placeholder max min ' +
    'multiple pattern required step').split(' '));
于 2011-11-04T13:47:51.570 回答
1

找到这个:http ://davidwalsh.name/html5-placeholder

代码:

function hasPlaceholderSupport() {
  var input = document.createElement('input');
  return ('placeholder' in input);
}

还有一个备用解决方案,通过单击链接

于 2011-11-04T13:48:39.930 回答