是否有可能与任何库运行在IE8的一些HTML5输入类型?
例如用范围。
Points: <input type="range" name="points" min="1" max="10">
<input type="submit" value="send">
是否有可能与任何库运行在IE8的一些HTML5输入类型?
例如用范围。
Points: <input type="range" name="points" min="1" max="10">
<input type="submit" value="send">
您可以使用Modernizr的检查,如果你的浏览器支持HTML5。
你可以使用IE8 jQuery UI的滑块的IT工作
查看此网页: http://jqueryui.com/slider/
演示: http://jsbin.com/eduren/1/edit
要阅读滑块值/百分比值:
VAR = VAL $( '#滑块')滑块( “选项”, “值”)。
IE8不支持<input type="range">
。 在旧的浏览器来达到这个目的最无缝的方式是检测的支持和使用“polyfills”在需要的地方。 一个填充工具被设计为支持添加到旧的浏览器,通常使用一些JavaScript试图模仿原生的行为会是什么。
此页面有polyfills的大名单。 (和Modernizr的是,以检测这些事情支持的好方式。)你会发现该列表中的各种输入类型polyfills。
右键我的脑海,我认为镀铬边框,谷歌的项目带来的Chrome引擎下三叉戟罩。
网址: http://www.google.com/chromeframe
我从来没有尝试过自己。 当浏览器遇到一个错误,我们修复它,要么找到一个解决办法。 我不是附加的忠实粉丝,特别是从管理角度的视图。
另一种选择是使用Modernizr的库来检测浏览器功能和周围找工作吧。 总有一些哈克的方式来让你的出路。 使用HTML5希夫可以找到自己的出路的方式。 而这与IE8打交道时,我更喜欢第二个选项。 问候。
IE8将呈现所有的“HTML5”输入类型为文本。 但您可以将这些类型的使用JavaScript,使用类似
$('[type=range]').slider() //insert your favorite library here...
我知道这是不是标签的jQuery,但我想的例子仍然不够清晰
使用一定范围的输入,在IE浏览器和HTML5所有的浏览器适用于所有版本的代码:
<input name="range" id="range" type="range" min="1" max="10"/>
<!--[if lt IE 10]>
<div id="range_ie" style="position:relative; width:255px; height:15px; font-size:0px; cursor:default" onclick="changevalue()" onselectstart="return false">
<div style="position:absolute; left:0px; top:5px; width:100%; height:30%; border-left:1px solid gray; border-top:1px solid gray; border-right:1px solid white; border-bottom:1px solid white; background:silver"></div>
<div id="slider" style="position:absolute; left:0px; top:0px; width:5px; height:100%; border:1px solid gray; background:#EBEBEB; font-size:15px" onmousedown="document.onmousemove=changevalue"> </div>
</div>
<script type="text/javascript">
window.document.getElementById("range").style.display = "none";
document.body.onmouseup = function(){document.onmousemove = function(){void(0)}};
function changevalue(){
range.value = ((navigator.appName.substring(0,3) == "Net") ? e.pageX : event.x) * (eval(range.max) - eval(range.min))/eval(window.document.getElementById("range_ie").style.width.substring(0,window.document.getElementById("range_ie").style.width.search("px"))) + eval(range.min);
if(range.value > eval(range.max)){range.value = range.max}
if(range.value < eval(range.min)){range.value = range.min}
window.document.getElementById("slider").style.left = (range.value - eval(range.min)) * eval(window.document.getElementById("range_ie").style.width.substring(0,window.document.getElementById("range_ie").style.width.search("px")))/(eval(range.max) - eval(range.min)) + "px";
}
</script>
<![endif]-->