我将如何检测是否“多”属性支持文件输入元素?(how would I detect if “mult

2019-06-24 04:53发布

Internet浏览器不支持multiple对属性<input type="file" /> 然而,它不仅IE缺乏这种支持...也一定移动浏览器不支持multiple属性。 所以,简单地检测到浏览器是IE不是理想的解决方案。

因此,如何将检测如果multiple属性被支撑用于<input type="file" />用JavaScript?

UPDATE

它看起来像Modernizr的有新的HTML5输入元素属性的支持:

http://modernizr.com/docs/#input

接受的解决方案似乎然而,要工作,因为我已经使用Modernizr的,我的解决方案如下:

/**
 * Determines if the given attribute is supported for <input /> elements.
 * 
 * @param attribute - the attribute to test for (ex. "multiple")
 */
function isInputAttributeSupported(attribute) {
    return (Modernizr.input[attribute]) ? true : false;
};

Answer 1:

var inp = document.createElement("input");
inp.setAttribute("multiple", "true");
var supportsMultiple = inp.multiple===true;


Answer 2:

您可以尝试检查相应属性的存在:

var supportsMultipleFiles = 'multiple' in document.createElement('input');

例如: http://jsfiddle.net/sbZvS/



文章来源: how would I detect if “multiple” attribute is supported for file input elements?