【发布时间】:2015-04-29 16:37:09
【问题描述】:
我想执行一个函数列表,如下所示:
window.onkeypress = [f1(), f2(), f3(), fn() ...] ...
有可能吗???
更新
好吧,关键是对于 event.keycode 我必须执行一个函数列表,但我想设置通用类型的函数列表,例如:
JQueryExtension.eventKeyCode[33] = [f1(), f2(), fn() ...];
JQueryExtension.KeyBoardControl = function (event) {
if (event.shiftKey && event.keyCode == 33) {
JQueryExtension.eventKeyCode[event.keyCode];
return;
}
};`
最后做这个:
window.onkeypress = JQueryExtension.KeyBoardControl;
:D !!
更新
好的,像这样的东西,可能有用吗??
JQueryExtension.eventKeyCode = new Array();
JQueryExtension.KeyBoardControl = function (event) {
if (event.shiftKey && event.keyCode == 33) {
for (var i = 0; i < JQueryExtension.eventKeyCode.length; i++) {
if (JQueryExtension.eventKeyCode[i] == event.keyCode) {
var listOfFunctions = JQueryExtension.eventKeyCode[i];
for (var j = 0; j < listOfFunctions.length; j++) {
listOfFunctions[j]();
}
}
}
return;
}
};
window.onkeypress = JQueryExtension.KeyBoardControl;
更新
天哪,像这样的:
var functionsForKeyCodeOne = [
{
keyCode: 33,
theFunction: Billing.TheKnockOutDataTableViewModelCustomerSearcher.mainData([])
},
{
keyCode: 33,
theFunction: Billing.SetModalVisibility("searcherCustomerModal", "show")
},
{
keyCode: 33,
theFunction: $('#searcherCustomerModal').on('shown.bs.modal', function() {
$("#txtNameCustomer").focus();
})
}
];
JQueryExtension.eventKeyCode.push(functionsForKeyCodeOne);
window.onkeypress = JQueryExtension.KeyBoardControl;
JQueryExtension.KeyBoardControl = function (event) {
if (event.shiftKey && event.keyCode == 33) {
for (var i = 0; i < JQueryExtension.eventKeyCode.length; i++) {
if (JQueryExtension.eventKeyCode[i].keyCode == event.keyCode) {
var listOfFunctions = JQueryExtension.eventKeyCode[i];
for (var j = 0; j < listOfFunctions.length; j++) {
listOfFunctions[j].theFunction();
}
}
}
return;
}
};
:哦!!!
【问题讨论】:
-
是的,您可以将函数对象放入数组中,然后编写代码顺序执行它们。
-
嗯,重点是对于 event.keycode 我必须执行一个函数列表,但我想设置通用类型的函数列表,例如:
JQueryExtension.eventKeyCode[33] = [f1(), f2(), fn() ...]; JQueryExtension.KeyBoardControl = function (event) { if (event.shiftKey && event.keyCode == 33) { JQueryExtension.eventKeyCode[event.keyCode]; return; } };
标签: javascript jquery