为什么我无法做到这一点:
$(".item").on('click', 'a.close', closeItem());
function closeItem() {
$(".item").fadeOut({
duration: 400,
}
});
}
但这确实有效
$(".item").on('click', 'a.close', function() {
$(".item").fadeOut({
duration: 400,
}
});
});
为什么不能用声明的处理程序替换通用处理程序?
最佳答案
你可以这样做:
$(".item").on('click', 'a.close', closeItem);
function closeItem() {
$(".item").fadeOut({
duration: 400,
}
});
}
您需要将函数作为参数传递而不是调用它。按照您完成此操作的方式,您调用该函数并将结果(在本例中为未定义
)传递给处理程序而不是实际的函数。
关于javascript - jquery 类型错误 : can't assign to properties of new String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48526212/