如何通过 javascript 在 jQuery Mobile 中禁用范围滑块

Posted

技术标签:

【中文标题】如何通过 javascript 在 jQuery Mobile 中禁用范围滑块【英文标题】:How to disable rangeslider in jQuery Mobile via javascript 【发布时间】:2013-08-17 13:26:57 【问题描述】:

我正在尝试通过 javascript 正确禁用 jQuery Mobile 范围滑块。但它不起作用。如果我将disabled 属性添加到html 文件中的<input> 元素,它就可以工作。但是,如果我尝试通过

禁用它
$('#range-monday-a').attr("disabled", "disabled");
$('#range-monday-b').attr("disabled", "disabled");

它将disabled="disabled" 属性添加到DOM 中的输入元素,但显示没有改变,我仍然可以使用滑块。 (“#range-monday-a”和“#range-monday-b”是rangeslider的两个输入元素的id)

我认为这是因为 jQuery Mobile 为 rangeslider 渲染了额外的 div 和内容。但我无法在 jquerymobile.com 上找到答案,也无法在此处或通过 google 找到答案。

【问题讨论】:

【参考方案1】:

你也可以用一个选择器来做:

$("#range-monday-a, #range-monday-b").slider("disable");

甚至更好:

$("#ancestor input[data-type='range']").slider("disable");

但是,请注意两侧的数字字段在任何情况下都将保持完全不透明 - I filed the bug。

【讨论】:

【参考方案2】:

你试过了吗:

$('#range-monday-a').slider('disable');
$('#range-monday-b').slider('disable');

来自文档:http://jquerymobile.com/demos/1.3.0-rc.1/docs/forms/slider/methods.html

【讨论】:

非常感谢,确实可行!它就在我眼前,但出于某种原因,我认为这个版本只适用于通过 javascript 初始化的滑块。

以上是关于如何通过 javascript 在 jQuery Mobile 中禁用范围滑块的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 javascript 在 jQuery Mobile 中禁用范围滑块

如何通过javascript或jquery将输入字段聚焦在Android浏览器上

如何通过 javascript 函数在 jQuery Mobile 中打开新页面

如何通过 javascript/jQuery 中的 url 发送数组

如何通过 javascript/jquery 事件控制 youtube iframe 声音

如何通过jQuery / Javascript获取更新的表单输入值?