如果单元格为空,我想对其进行聚焦,并防止用户在输入值之前离开单元格。
我尝试了一些JS:
var flag = 0;
function setFocusFn(evt) {
console.log("Inside setFocusFn");
if (flag) return;
flag=1;
var element = evt.getSource();
var val = element.getValue();
var cid = element.getClientId();
var regexp = /^[0-9]+([.][0-9]+)?$/g;
var result = regexp.test(val);
if(val){
if(result){
valRounded = Math.ceil(element.getValue());
evt.getSource().setProperty('value', valRounded);
}
}
if(val == null){
element.focus();
//element.select();
evt.cancel();
setTimeout('flag=0', 1);
}else{
flag=0;
}
}
它可以工作,但是当我右键单击或单击其他任何列上的任何单元格时,我会失去对该单元格的关注。
我使用了在无限循环中输入的标志。