В настоящее время моего вызов AJAX настроен как таковые, так что, когда запятая KeyUp обнаружен, вызов пожары AJAX:Повторного использования функции AJAX несколько раз
$("#selector").on("keyup", function(e) {
if (e.which === 188) {
var search = $(this).val();
function searchTag() {
return $.ajax({
cache: false,
url: url,
dataType: "json",
type: "post",
data: {search: search}
});
}
searchTag().done(function(data) {
//Success
});
}
});
Я хочу, чтобы повторно использовать вызов AJAX как часть другого события слушатель позже в моем коде:
$("body").on("click", ".tag", function() {
searchTag();
});
без перезаписи весь вызов, как сделать функцию независимой, так что он может быть использован в обоих сценариях?
Тогда почему бы вам не переместить функцию searchTag за пределами события «keyup» (и сделать поиск var глобальным и применить значение только к keyup)? – drip
@drip Я бы хотел избежать глобальных переменных, если смогу. – Ryan
Затем заверните код в самоназывающую анонимную функцию ... – drip