コードをより汎用的にする変数を作成したいと考えています。ここに私が取り組んでいるコードがあります:
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";
},
セマンティックが正しくありません。それを行う方法はありますか?ありがとう