mirror of https://github.com/layui/layui
chore: readonly 时禁用控制按钮
parent
01535e5320
commit
fc9d728454
|
@ -194,6 +194,8 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
||||||
if(isBadInput) return; // 若非数字,则不作处理
|
if(isBadInput) return; // 若非数字,则不作处理
|
||||||
|
|
||||||
if(eventType === 'click'){
|
if(eventType === 'click'){
|
||||||
|
// 兼容旧版行为,2.10 以前 readonly 不禁用控制按钮
|
||||||
|
if(elem[0].type === 'text' && typeof elem.attr('readonly') === 'string') return;
|
||||||
var isDecrement = !!$(that).index() // 0: icon-up, 1: icon-down
|
var isDecrement = !!$(that).index() // 0: icon-up, 1: icon-down
|
||||||
value = isDecrement ? value - step : value + step;
|
value = isDecrement ? value - step : value + step;
|
||||||
}
|
}
|
||||||
|
@ -375,7 +377,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
||||||
var ns = '.lay_input_number';
|
var ns = '.lay_input_number';
|
||||||
var skipCheck = false;
|
var skipCheck = false;
|
||||||
var isComposition = false;
|
var isComposition = false;
|
||||||
var isKeyboard = typeof elem.attr('readonly') !== 'string';
|
var isReadonly = typeof elem.attr('readonly') === 'string';
|
||||||
var isMouseWheel = typeof elem.attr('lay-wheel') === 'string';
|
var isMouseWheel = typeof elem.attr('lay-wheel') === 'string';
|
||||||
var btnElem = elem.next('.layui-input-number').children('i');
|
var btnElem = elem.next('.layui-input-number').children('i');
|
||||||
// 旧版浏览器不支持 beforeInput 事件,需要设置一个 attr 存储输入前的值
|
// 旧版浏览器不支持 beforeInput 事件,需要设置一个 attr 存储输入前的值
|
||||||
|
@ -388,7 +390,7 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
||||||
skipCheck = true;
|
skipCheck = true;
|
||||||
}
|
}
|
||||||
// Up & Down 键盘事件处理
|
// Up & Down 键盘事件处理
|
||||||
if(isKeyboard && btnElem.length === 2 && (e.keyCode === 38 || e.keyCode === 40)){
|
if(!isReadonly && btnElem.length === 2 && (e.keyCode === 38 || e.keyCode === 40)){
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
btnElem.eq(e.keyCode === 38 ? 0 : 1).click();
|
btnElem.eq(e.keyCode === 38 ? 0 : 1).click();
|
||||||
}
|
}
|
||||||
|
@ -430,6 +432,10 @@ layui.define(['lay', 'layer', 'util'], function(exports){
|
||||||
btnElem.eq(direction > 0 ? 1 : 0).click();
|
btnElem.eq(direction > 0 ? 1 : 0).click();
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isReadonly){
|
||||||
|
btnElem.addClass(DISABLED);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
handleInputNumber.call(this, elem, 'init')
|
handleInputNumber.call(this, elem, 'init')
|
||||||
},
|
},
|
||||||
|
|
Loading…
Reference in New Issue