Javascript:带有 document.activeElement 的变量

标签 javascript variables

我想创建一个变量以使我的代码更通用。这是我正在处理的代码:

eventHandler: function(event) {
    if (event.keyCode == KEY_DOWN) {
        if (this.hasNextSibling(document.activeElement.parentNode)) {
             this.setFocus(document.activeElement.parentNode.nextSibling.firstChild);
         } else {
              this.debug("out");
         }
    }
},
setFocus: function(item)
{
document.activeElement.tabIndex = "-1";
item.focus();
document.activeElement.tabIndex = "0";
},
...

我有“document.activeElement.parentNode.nextSibling.firstChild”的部分是问题所在。为了能够重用代码,我首先要做的是设置一个如下变量:

var test = document.activeElement.parentNode.nextSibling.firstChild; /*CHANGE HERE*/
eventHandler: function(event) {
    if (event.keyCode == KEY_DOWN) {
        if (this.hasNextSibling(document.activeElement.parentNode)) {
             this.setFocus(test); /*CHANGE HERE*/
         } else {
              this.debug("out");
         }
    }
},
setFocus: function(item)
{
document.activeElement.tabIndex = "-1";
item.focus();
document.activeElement.tabIndex = "0";
},
...

代码无法编译。我尝试了许多不同的方法,例如方法引用,但似乎没有任何效果。有人有想法吗?

非常感谢

编辑: 这就是我真正想要的:

var x = parentNode.nextSibling.firstChild;
eventHandler: function(event) {
    if (event.keyCode == KEY_DOWN) {
        if (this.hasNextSibling(parent)) {
             this.setFocus(document.activeElement.x);
         } else {
              this.debug("out");
         }
    }
},
setFocus: function(item)
{
document.activeElement.tabIndex = "-1";
item.focus();
document.activeElement.tabIndex = "0";
},

语义不正确。我有办法做到这一点吗? 谢谢

最佳答案

问题是您试图在对象体内声明一个变量,其中只有键值对有效。尝试:

test : document.activeElement.parentNode.nextSibling.firstChild,
eventHandler: function(event) {
    if (event.keyCode == KEY_DOWN) {
        if (this.hasNextSibling(document.activeElement.parentNode)) {
             this.setFocus(this.test); /*CHANGE HERE*/
         } else {
              this.debug("out");
         }
    }
},
...

关于Javascript:带有 document.activeElement 的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13366050/

相关文章:

javascript - javascript 中的 setInterval php 变量

javascript - 尝试实现 JSFiddle 示例

javascript - 从 Controller 观察指令范围变量

javascript - 正则表达式以逗号分隔,但不包括大括号、方括号和圆括号内的那些

javascript - 函数中的函数不起作用

Python - 赋值前引用的变量

javascript - 当文件名通过 props 传递时,React 组件无法动态 require() 图像文件

javascript - 如何跟踪 JavaScript 方法中的先前值?

php - 在 SQL WHERE 语句中使用 session 变量

java - 局部变量、实例字段、输入参数和类字段之间有什么区别?