Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 范围输入禁用在chrome中不起作用_Javascript_Html_Google Chrome - Fatal编程技术网

Javascript 范围输入禁用在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

我正在禁用我的范围输入,但在chrome中它显示为灰色,但仍然可用

<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;
    }
}