我不确定这是否可行,但我希望能够将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
});
非常感谢。
答案 0 :(得分:4)
以下两个例子都应该在理论上起作用:
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函数是一等公民,这意味着您可以像对待任何其他对象一样对待它们。
答案 1 :(得分:0)
确定为什么不先定义该功能:
var dropdownSelect = function(event, ui) { dropdownSelect(event, ui) };
$("#auto").autocomplete({
source: "somepage.php",
select: dropdownSelect,
minLength: 0
});
答案 2 :(得分:0)
var dropdownSelect = function(event, ui) { ... };
var onDropdownSelect = function(event, ui) { dropdownSelect(event, ui) };
$("#auto").autocomplete({
source: "somepage.php",
select: onDropdownSelect,
minLength: 0
});