关闭输入法有两种方式:
1、将控件的style.imeMode属性设置为disabled
2、将空间的style.imeMode属性设置为inactive
激活输入法也有两种方式:
1、将控件的style.imeMode属性设置为auto
2、将空间的style.imeMode属性设置为active
两种方式在动态设置时有一点小小的区别:
采用第一种方式会关闭中文输入法的窗口,如果多次设置会多次关闭输入法窗口从而造成窗口闪动
采用第二种方式会将输入法设置成大写,但其实输入的是小写,这种方式不会关闭输入法窗口,所以不会造成闪动
<html>
<head>
<script type="text/javascript">
function _onlyNum(){
for ( var vii = 0; vii < _onlyNum.arguments.length; vii++ ){
if ( a = _onlyNum.arguments[vii] ) {
if ( o = document.getElementById(a) ) {
with (o) {
style.imeMode = "disabled"
ondrop = function (){return false}
onchange = function (){
value = value.replace(/\D/g,'')
}
onkeypress = function (){
return (/[\d]/.test(String.fromCharCode(event.keyCode)))}
onbeforepaste = function (){
onpaste = function (){return /\D/g.test(clipboardData.getData('text')) ? false : true}
}}}
}}
}
</script>
<body οnlοad="_onlyNum('tt')">
<input name="tt"> Drop test : 122132134
</body>
</html>
常见的js函数,使一个输入框只接收数字.
function onlyInputNumber(){
if ( !(((window.event.keyCode >= 48) && (window.event.keyCode <= 57))|| (window.event.keyCode == 13)))
{
window.event.keyCode = 0 ;