Javascript 范围输入禁用在chrome中不起作用
我正在禁用我的范围输入,但在chrome中它显示为灰色,但仍然可用Javascript 范围输入禁用在chrome中不起作用,javascript,html,google-chrome,Javascript,Html,Google Chrome,我正在禁用我的范围输入,但在chrome中它显示为灰色,但仍然可用 <input type="range" disabled min="0" max="100"/> 我假设上述情况不允许您更改其值 我做错了吗 相关规范我为chrome找到了一个老掉牙的解决方案,因为它似乎不能从用户输入中禁用它。在其上放置div,以便用户无法与其交互。不漂亮但有效: <div style="position:relative;"> <div style="positi
<input type="range" disabled min="0" max="100"/>
我假设上述情况不允许您更改其值
我做错了吗
相关规范我为chrome找到了一个老掉牙的解决方案,因为它似乎不能从用户输入中禁用它。在其上放置div,以便用户无法与其交互。不漂亮但有效:
<div style="position:relative;">
<div style="position:absolute;z-index:5;width:100%;height:100%;"></div>
<input type="range" disbaled=True min="0" max="100" value="0"/><span id="v">100</span>
</div>
100
这是Chrome的bug报告,我想你只需要等待评论提到的版本15
您可以删除该特定滚动组的所有绑定事件,以禁用该滚动,如:
<div id="fieldset1">
<input type="range" disabled min="0" max="100" readonly="1"/>
</div>
<script>
$(":range").rangeinput();
$('#fieldset1 *').unbind(); // for all events
</script>
$(“:range”).rangeinput();
$(“#字段集1*”).unbind();//无论如何
它的作品。。
不需要禁用文本字段;因为在表单提交时,该字段将不会被过账 我的解决方案(在默认android浏览器中运行良好)
html
OP包含了一个JSFIDLE,您应该已经尝试过了,您应该已经阅读了文章-1为了解释Matto,禁用可以在没有值的情况下使用,但是如果没有值,您不能通过javascript设置属性,因此通常人们使用disabled作为值。不管怎样,正如我的例子所示,chrome确实看到它被禁用了,除了改变颜色之外,它什么也不做。听起来像是一个bug,你应该报告它。@minitech太糟糕了,他们的报告系统是一个巨大的黑洞。就是这样。你可以尝试一个脚本,如果它被禁用,它会不断地重置位置,但这是一个可怕的黑客行为。很抱歉没有提供太多帮助:(Chrome 15中的输入被正确禁用。黑洞?请将错误归档到。(如前所述,这在15中已修复,所以这次不需要)
<input id="range" type="range" value="10" min="0" max="30" step="10"/>
<button id="disableBtn">Disable</button>
document.getElementById('disableBtn').addEventListener('input', filter);
document.getElementById('disableBtn').addEventListener('click', disable);
function disable(){
document.getElementById('range').disabled = !document.getElementById('range').disabled;
}
function filter(){
if(document.getElementById('range').disabled){
document.getElementById('range').value = document.getElementById('range').defaultValue;
}
}