我不确定这是否可行,但我希望能够(直接)将 jQuery UI 事件设置为函数,而不是继续包装额外的 function(event, ui) { ... }
包装器。
希望您能从下面的示例中看出我要做什么。
这是我想要的:
$("#auto").autocomplete({
source: "somepage.php",
select: dropdownSelect,
minLength: 0
});
现在我认为上面的方法可行,因为我只是想说“继续触发此事件,刚好转到那个函数”。 不幸的是,那是行不通的,我将以这样的方式结束:(并且出于某种原因,与所有数据断开连接)
$("#auto").autocomplete({
source: "somepage.php",
select: function(event, ui) { dropdownSelect(event, ui) },
minLength: 0
});
最佳答案
以下两个例子在理论上都应该有效:
var dropdownSelect = function(event, ui) {
// Code to select drop down
};
$("#auto").autocomplete({
source: "somepage.php",
select: dropdownSelect,
minLength: 0
});
还有这个:
function dropdownSelect(event, ui) {
// Code to select drop down
};
$("#auto").autocomplete({
source: "somepage.php",
select: function(event, ui) { dropdownSelect(event, ui) },
minLength: 0
});
JavaScript 函数是一等公民,这意味着您可以像对待任何其他对象一样对待它们。
关于JavaScript 函数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2900027/