javascript focus()方法更改值

时间:2018-02-18 11:55:57

标签: javascript focus innerhtml

我想在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解决方案。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

focus()方法不会对元素的值进行任何更改。

我认为您可以检查为该元素创建的焦点事件处理程序。