Javascript 如何检测onfocus的this.select()事件?
我有以下允许小数的代码:Javascript 如何检测onfocus的this.select()事件?,javascript,html,jquery,Javascript,Html,Jquery,我有以下允许小数的代码: 功能仅限CIMAL(e、Valinical、nEntero、nDecimal){ var obj=e.src元素| | e.target; var key_code=(document.all)?e.keyCode:e.which; var key_val=String.fromCharCode(key_code); 变量2=/[\d.]/; var控制=(键代码===46&(/[.]/).test(obj.value))?false:true; 变量existeP
功能仅限CIMAL(e、Valinical、nEntero、nDecimal){
var obj=e.src元素| | e.target;
var key_code=(document.all)?e.keyCode:e.which;
var key_val=String.fromCharCode(key_code);
变量2=/[\d.]/;
var控制=(键代码===46&(/[.]/).test(obj.value))?false:true;
变量existePto=(/[.]/).test(目标值);
//el标签
如果(键代码===8)
返回true;
如果(有效!==目标值){
var T控制=obj.value.length;
if(existePto==false&&key\u代码!==46){
如果(t控制===nEntero){
obj.value=obj.value+“;
}
}
if(existePto==真){
var subVal=obj.value.substring(obj.value.indexOf(“.”+1,obj.value.length);
如果(subVal.length>=nDecimal){
返回false;
}
}
返回用户2.测试(键值)和控制;
}
否则{
if(有效值===目标值){
obj.value='';
}
返回用户2.测试(键值)和控制;
}
}
如果需要,您可以像下面那样使用selectionStart
和selectionEnd
功能仅限CIMAL(e、Valinical、nEntero、nDecimal){
var obj=e.src元素| | e.target;
var key_code=(document.all)?e.keyCode:e.which;
var key_val=String.fromCharCode(key_code);
变量2=/[\d.]/;
var控制=(键代码===46&(/[.]/).test(obj.value))?false:true;
变量existePto=(/[.]/).test(目标值);
var haveSelection=obj.selectionEnd-obj.selectionStart;
//el标签
如果(键代码===8)
返回true;
如果(有效!==目标值){
var T控制=obj.value.length;
if(existePto==false&&key\u代码!==46){
如果(t控制===nEntero){
obj.value=obj.value+“;
}
}
if(existePto==真){
var subVal=obj.value.substring(obj.value.indexOf(“.”+1,obj.value.length);
如果(subVal.length>=nDecimal&&!haveSelection){
返回false;
}
}
返回用户2.测试(键值)和控制;
}
否则{
if(有效值===目标值){
obj.value='';
}
返回用户2.测试(键值)和控制;
}
}