1.绑定@key事件
<el-input
style="width: 210px"
type="text"
v-model="item.elementNm"
:id="forId('elementNm', scope.$index)"
@keyup.ctrl.right.native="
goRight('elementNm', scope.$index)
"
@keyup.ctrl.left.native="
goLeft('elementNm', scope.$index)
"
@keyup.ctrl.up.native="
goUp('elementNm', scope.$index)
"
@keyup.ctrl.down.native="
goDown('elementNm', scope.$index)
"
></el-input>
2.绑定方法
methods: {
goRight(name, index) {
if (name == "optType") {
if (document.getElementById("elementType" + index.toString()) != null) {
document.getElementById("optType" + index.toString()).click();
document.getElementById("elementType" + index.toString()).click();
document.getElementById("elementType" + index.toString()).focus();
} else if (
document.getElementById("elementNm" + index.toString()) != null
) {
document.getElementById("optType" + index.toString()).click();
document.getElementById("elementNm" + index.toString()).click();
document.getElementById("elementNm" + index.toString()).focus();
} else if (
document.getElementById("elementId" + index.toString()) != null
) {
document.getElementById("optType" + index.toString()).click();
document.getElementById("elementId" + index.toString()).click();
document.getElementById("elementId" + index.toString()).focus();
} else if (
document.getElementById("elementGetWay" + index.toString()) != null
) {
document.getElementById("optType" + index.toString()).click();
document.getElementById("elementGetWay" + index.toString()).click();
document.getElementById("elementGetWay" + index.toString()).focus();
} else if (
document.getElementById("elementOptWay" + index.toString()) != null
) {
document.getElementById("optType" + index.toString()).click();
document.getElementById("elementOptWay" + index.toString()).click();
document.getElementById("elementOptWay" + index.toString()).focus();
} else if (
document.getElementById("optVal" + index.toString()) != null
) {
document.getElementById("optType" + index.toString()).click();
document.getElementById("optVal" + index.toString()).click();
document.getElementById("optVal" + index.toString()).focus();
}
} else if (name == "elementType") {
if (document.getElementById("elementNm" + index.toString()) != null) {
document.getElementById("elementType" + index.toString()).click();
document.getElementById("elementNm" + index.toString()).click();
document.getElementById("elementNm" + index.toString()).focus();
} else if (
document.getElementById("elementId" + index.toString()) != null
) {
document.getElementById("elementType" + index.toString()).click();
document.getElementById("elementId" + index.toString()).click();
document.getElementById("elementId" + index.toString()).focus();
} else if (
document.getElementById("elementGetWay" + index.toString()) != null
) {
document.getElementById("elementType" + index.toString()).click();
document.getElementById("elementGetWay" + index.toString()).click();
document.getElementById("elementGetWay" + index.toString()).focus();
} else if (
document.getElementById("elementOptWay" + index.toString()) != null
) {
document.getElementById("elementType" + index.toString()).click();
document.getElementById("elementOptWay" + index.toString()).click();
document.getElementById("elementOptWay" + index.toString()).focus();
} else if (
document.getElementById("optVal" + index.toString()) != null
) {
document.getElementById("elementType" + index.toString()).click();
document.getElementById("optVal" + index.toString()).click();
document.getElementById("optVal" + index.toString()).focus();
}
} else if (name == "elementNm") {
if (document.getElementById("elementId" + index.toString()) != null) {
document.getElementById("elementNm" + index.toString()).click();
document.getElementById("elementId" + index.toString()).click();
document.getElementById("elementId" + index.toString()).focus();
} else if (
document.getElementById("elementGetWay" + index.toString()) != null
) {
document.getElementById("elementGetWay" + index.toString()).focus();
} else if (
document.getElementById("elementOptWay" + index.toString()) != null
) {
document.getElementById("elementOptWay" + index.toString()).focus();
} else if (
document.getElementById("optVal" + index.toString()) != null
) {
document.getElementById("optVal" + index.toString()).focus();
}
} else if (name == "elementId") {
if (
document.getElementById("elementGetWay" + index.toString()) != null
) {
document.getElementById("elementId" + index.toString()).click();
document.getElementById("elementGetWay" + index.toString()).click();
document.getElementById("elementGetWay" + index.toString()).focus();
} else if (
document.getElementById("elementOptWay" + index.toString()) != null
) {
document.getElementById("elementOptWay" + index.toString()).focus();
} else if (
document.getElementById("optVal" + index.toString()) != null
) {
document.getElementById("optVal" + index.toString()).focus();
}
} else if (name == "elementGetWay") {
if (
document.getElementById("elementOptWay" + index.toString()) != null
) {
document.getElementById("elementGetWay" + index.toString()).click();
document.getElementById("elementOptWay" + index.toString()).click();
document.getElementById("elementOptWay" + index.toString()).focus();
} else if (
document.getElementById("optVal" + index.toString()) != null
) {
document.getElementById("elementGetWay" + index.toString()).click();
document.getElementById("optVal" + index.toString()).click();
document.getElementById("optVal" + index.toString()).focus();
}
} else if (name == "elementOptWay") {
if (document.getElementById("optVal" + index.toString()) != null) {
document.getElementById("elementOptWay" + index.toString()).click();
document.getElementById("optVal" + index.toString()).click();
document.getElementById("optVal" + index.toString()).focus();
}
} else if (name == "optVal") {
document.getElementById("optType" + index.toString()).focus();
}
},
goLeft(name, index) {
if (name == "optVal") {
if (
document.getElementById("elementOptWay" + index.toString()) != null
) {
document.getElementById("optVal" + index.toString()).click();
document.getElementById("elementOptWay" + index.toString()).focus();
} else if (
document.getElementById("elementGetWay" + index.toString()) != null
) {
document.getElementById("optVal" + index.toString()).click();
document.getElementById("elementGetWay" + index.toString()).focus();
} else if (
document.getElementById("elementId" + index.toString()) != null
) {
document.getElementById("optVal" + index.toString()).click();
document.getElementById("elementId" + index.toString()).focus();
} else if (
document.getElementById("elementNm" + index.toString()) != null
) {
document.getElementById("optVal" + index.toString()).click();
document.getElementById("elementNm" + index.toString()).focus();
} else if (
document.getElementById("elementType" + index.toString()) != null
) {
document.getElementById("optVal" + index.toString()).click();
document.getElementById("elementType" + index.toString()).focus();
} else if (
document.getElementById("optType" + index.toString()) != null
) {
document.getElementById("optVal" + index.toString()).click();
document.getElementById("optType" + index.toString()).focus();
}
} else if (name == "elementOptWay") {
if (
document.getElementById("elementGetWay" + index.toString()) != null
) {
document.getElementById("elementOptWay" + index.toString()).click();
document.getElementById("elementGetWay" + index.toString()).focus();
} else if (
document.getElementById("elementId" + index.toString()) != null
) {
document.getElementById("elementOptWay" + index.toString()).click();
document.getElementById("elementId" + index.toString()).focus();
} else if (
document.getElementById("elementNm" + index.toString()) != null
) {
document.getElementById("elementOptWay" + index.toString()).click();
document.getElementById("elementNm" + index.toString()).focus();
} else if (
document.getElementById("elementType" + index.toString()) != null
) {
document.getElementById("elementOptWay" + index.toString()).click();
document.getElementById("elementType" + index.toString()).focus();
} else if (
document.getElementById("optType" + index.toString()) != null
) {
document.getElementById("elementOptWay" + index.toString()).click();
document.getElementById("optType" + index.toString()).focus();
}
} else if (name == "elementGetWay") {
if (document.getElementById("elementId" + index.toString()) != null) {
document.getElementById("elementId" + index.toString()).focus();
} else if (
document.getElementById("elementNm" + index.toString()) != null
) {
document.getElementById("elementNm" + index.toString()).focus();
} else if (
document.getElementById("elementType" + index.toString()) != null
) {
document.getElementById("elementType" + index.toString()).focus();
} else if (
document.getElementById("optType" + index.toString()) != null
) {
document.getElementById("optType" + index.toString()).focus();
}
} else if (name == "elementId") {
if (document.getElementById("elementNm" + index.toString()) != null) {
document.getElementById("elementNm" + index.toString()).focus();
} else if (
document.getElementById("elementType" + index.toString()) != null
) {
document.getElementById("elementType" + index.toString()).focus();
} else if (
document.getElementById("optType" + index.toString()) != null
) {
document.getElementById("optType" + index.toString()).focus();
}
} else if (name == "elementNm") {
if (document.getElementById("elementType" + index.toString()) != null) {
document.getElementById("elementNm" + index.toString()).click();
document.getElementById("elementType" + index.toString()).focus();
} else if (
document.getElementById("optType" + index.toString()) != null
) {
document.getElementById("elementNm" + index.toString()).click();
document.getElementById("optType" + index.toString()).focus();
}
} else if (name == "elementType") {
if (document.getElementById("optType" + index.toString()) != null) {
document.getElementById("elementType" + index.toString()).click();
document.getElementById("optType" + index.toString()).focus();
}
} else if (name == "optType") {
if (document.getElementById("optVal" + index.toString()) != null) {
document.getElementById("optVal" + index.toString()).focus();
}
}
},
goUp(name, index) {
var cnt = this.caseOptList.length;
var n = 0;
var a = 1;
if (index == 0) {
for (n; n <= cnt; n++) {
if (document.getElementById(name + (cnt - n).toString()) != null) {
document.getElementById(name + "0".toString()).click();
document.getElementById(name + (cnt - n).toString()).focus();
return;
}
}
} else {
for (a; a <= cnt; a++) {
if (document.getElementById(name + (index - a).toString()) != null) {
document.getElementById(name + (index - a + 1).toString()).click();
document.getElementById(name + (index - a).toString()).focus();
return;
}
}
}
},
goDown(name, index) {
var cnt = this.caseOptList.length;
var n = cnt;
var a = 1;
if (index == cnt - 1) {
for (n; n >= 0; n--) {
if (document.getElementById(name + (cnt - n).toString()) != null) {
document.getElementById(name + (cnt - 1).toString()).click();
document.getElementById(name + (cnt - n).toString()).focus();
return;
}
}
} else {
for (a; a <= cnt; a++) {
if (document.getElementById(name + (index + a).toString()) != null) {
document.getElementById(name + (index + a - 1).toString()).click();
document.getElementById(name + (index + a).toString()).focus();
return;
}
}
}
},
forId(name, index) {
return name + index;
},