我想使单元格行为像在Excel中一样。如果单击单元格并且单元格的属性expression
不为空,我想将此表达式的值放入单元格中,并专注于此单元格。
码:
// In this point tdElm.innerHTML = 1
if (tdElm.getAttribute('expression') != "") {
tdElm.innerHTML = tdElm.getAttribute('expression'); //expression = '=1'
tdElm.setAttribute('contenteditable', 'true');
tdElm.classList.add('focused');
console.log(tdElm.innerHTML); //print =1
tdElm.focus();
console.log(tdElm.innerHTML); //print 1
return;
}
我的问题:
为什么调用
innerHTML
方法后,单元格的focus()
值又变回原样?如何解决这种奇怪的行为?我需要纯JavaScript解决方案。谢谢你的帮助。
最佳答案
focus()
方法不会对元素的值进行任何更改。
我认为您可以检查为该元素创建的焦点事件处理程序。