所以我有这个 JS,当我运行代码时,我得到“e is not defined”——我错过了什么?
$('ul.result-filters > li a').click(toggleFilters());
function toggleFilters(e) {
e.preventDefault();
//do more stuff
}
所以我有这个 JS,当我运行代码时,我得到“e is not defined”——我错过了什么?
$('ul.result-filters > li a').click(toggleFilters());
function toggleFilters(e) {
e.preventDefault();
//do more stuff
}
用这个 :
$('ul.result-filters > li a').click(toggleFilters);
您传递的是结果,toggleFilters()
而不是传递函数本身。
$('ul.result-filters > li a').on('click', toggleFilters);
function toggleFilters(e) {
e.preventDefault();
//do more stuff
}
在函数后添加括号时,它会立即执行并将结果传回。要仅引用该函数并在单击时调用它,请删除括号。
这也将使事件可用于toggleFilters
函数!
总能做到e = e || window.event
确保你有活动。
您正在调用函数而不是传递处理程序名称来单击。从 toggleFilters() 中删除括号
改变
$('ul.result-filters > li a').click(toggleFilters());
至
$('ul.result-filters > li a').click(toggleFilters);
您需要使用函数名称而不是函数调用 toggleFilters()。
$('ul.result-filters > li a').on('click', toggleFilters);
function toggleFilters(e) {
e.preventDefault();
//do more stuff
}
谢谢