我正在使用jquery旋钮插件。我想在按钮点击时只读取旋钮。
(function() {
$(".dial").knob({
'min':0,
'max':360,
'change' : function(degree){
var img = $(".volume_bttn");
if(radioSwitchState == 1)
{
img.css('-moz-transform', 'rotate('+degree+'deg)');
img.css('-webkit-transform', 'rotate('+degree+'deg)');
img.css('-o-transform', 'rotate('+degree+'deg)');
img.css('-ms-transform', 'rotate('+degree+'deg)');
var vol = ((degree)/360).toFixed(2);
//console.log(vol);
$("#jquery_jplayer_1").jPlayer("volume",(360-vol));
}
},
'fgColor' : '#460E09',//460E09
'bgColor' : "transparent",//transparent
'width' : 107,
'thickness' : 0.3,
'displayInput' : false,
'linecap' : 'butt'
});
});
这是我正在初始化旋钮的代码。如何在按钮点击时只读它?(我再说一遍)
答案 0 :(得分:4)
查看代码后,您无法使用$('.knob').trigger('configure', {})
在创建旋钮后设置readOnly状态。原因是因为“configure”事件绑定到:
var cf = function (e, conf) {
var k;
for (k in conf) {
s.o[k] = conf[k];
}
s._carve().init();
s._configure()
._draw();
};
如此函数所示,这些是唯一被调用的方法。 “readOnly”选项只能从我第一次创建旋钮时看到的内容中查看,因此在调用$('.knob').knob();
后更改此值无效。
您必须在创建期间设置此值:
$('.knob').knob({
"readOnly":true
});
答案 1 :(得分:3)
$('.dial').trigger(
'configure',
{
"min":10,
"max":40,
"fgColor":"#FF0000",
"skin":"tron",
"cursor":true
}
);
所以你最终会得到这样的东西:
$('.button').click(function() {
$('.dial').trigger('configure', {"readOnly": true});
}
答案 2 :(得分:1)
查看@dodo发布的触发器方法是否有效。如果没有,我有两个解决方法:
答案 3 :(得分:0)
$(".dial").knob({
min: 1
max: 10
stopper: true,
readOnly: true,//if true This will Set the Knob readonly cannot click
release: function (value) {
//Do something as you release the mouse
}
})