有没有办法禁用 dojox.mobile.switch?
Posted
技术标签:
【中文标题】有没有办法禁用 dojox.mobile.switch?【英文标题】:Is there a way to disable a dojox.mobile.switch? 【发布时间】:2012-06-22 14:20:04 【问题描述】:有没有办法禁用dojox.mobile.Switch,使其可见但变灰且不可点击/不可触摸?我在标准 API 文档中看不到任何内容。
编辑:我应该补充一点,我正在使用 Dojo 1.7。
【问题讨论】:
您能找到解决方案吗?我已经通过更改容器的不透明度解决了灰色问题,但我没有看到禁用实际控件的方法 【参考方案1】:我今天必须这样做。我扩展了 Switch 模块。对我来说效果很好,但我相信它可以改进。
define([
"dojo/_base/declare",
"dojox/mobile/Switch"
], function(declare, Switch)
return declare("my.package.Switch", [Switch],
disabled: false,
events: ,
disableSwitch: function()
//remove events (but hold on to them for later).. there may be a better dojo way of doing this
this.events._onClick = this._onClick;
this.events.onClick = this.onClick;
this.events.onTouchStart = this.onTouchStart;
this.events.onTouchMove = this.onTouchMove;
this._onClick = function();
this.onClick = function();
this.onTouchStart = function();
this.onTouchMove = function();
//TODO: better styling to make it look disabled?
// this.domNode.style.opacity = '0.5';
this.domNode.style['-webkit-filter'] = 'grayscale(1)';
this.disabled = true;
,
enableSwitch: function()
//reattach events
this._onClick = this.events._onClick;
this.onClick = this.events.onClick;
this.onTouchStart = this.events.onTouchStart;
this.onTouchMove = this.events.onTouchMove;
// this.domNode.style.opacity = '1';
this.domNode.style['-webkit-filter'] = 'grayscale(0)';
this.disabled = false;
);
);
【讨论】:
以上是关于有没有办法禁用 dojox.mobile.switch?的主要内容,如果未能解决你的问题,请参考以下文章