我想在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解决方案。
感谢您的帮助。
答案 0 :(得分:0)
focus()
方法不会对元素的值进行任何更改。
我认为您可以检查为该元素创建的焦点事件处理程序。