为什么我无法做到这一点:
$(".item").on('click', 'a.close', closeItem());
function closeItem() {
$(".item").fadeOut({
duration: 400,
}
});
}
然而这有效
$(".item").on('click', 'a.close', function() {
$(".item").fadeOut({
duration: 400,
}
});
});
为什么你不能用声明的处理程序替换泛型处理程序?
答案 0 :(得分:1)
你可以这样做:
$(".item").on('click', 'a.close', closeItem);
function closeItem() {
$(".item").fadeOut({
duration: 400,
}
});
}
您需要将该函数作为参数传递而不是调用它。在你完成它的方式中,你调用函数并将结果(在这种情况下为undefined
)传递给处理程序而不是实际的函数。