【发布时间】:2016-02-29 10:27:55
【问题描述】:
正在从服务器获取密钥组合。基于此,我正在分配键组合以动态运行。以下代码适用于循环中的最后一次迭代。下面的代码如何适用于所有迭代。
在我的页面中,我有两个按钮保存和取消,下面的代码适用于 for 循环中的最后一次迭代,这意味着如果我按下保存功能的键,btnCanel 按钮就会触发。任何建议。希望能理解我的问题。
$(document).ready(function fn() {
var keyCombination = new Object();
keyCombination['btnAdd'] = "Alt+S";
keyCombination['btnCancel'] = "Alt+C";
for (var k in keyCombination) {
if (keyCombination.hasOwnProperty(k)) {
shortcut.add(String(keyCombination[k]), function () {
var btnAdd = document.getElementById(String(k));
btnAdd.focus();
btnAdd.click();
});
}
}
});
如果我这样给予意味着它正在工作
shortcut.add("Alt+S", function () {
var btnAdd = document.getElementById('btnAdd ');
btnAdd .focus();
btnAdd .click();
});
shortcut.add("Alt+C", function () {
var btnCancel = document.getElementById('btnCancel');
btnCancel.focus();
btnCancel.click();
});
但如果我尝试动态添加它的覆盖帮助我解决这个问题。
提前致谢。
【问题讨论】:
-
您对此有什么解决方案吗? Alt+S 在最后一个循环中被 Alt+C 覆盖,这就是它触发取消按钮总是点击的原因
-
@VishwaKumar 是的,我知道,但是有什么建议可以克服这个问题吗??
-
@VishwaKumar 我找到了解决方案
标签: javascript jquery jquery-plugins keyboard-shortcuts