我的网站上有一些点击功能。当我点击它们时,我想切换一个特定的类。这是我必须做的代码:
$(".phenomenology_toggle_box").click(function() {
pageClicked = '.phenomenology_toggle_box';
escClicked = !escClicked;
$('.phenomenology_close').toggleClass("phenomenology");
});
$(".judith_toggle_box").click(function() {
pageClicked = '.judith_toggle_box';
escClicked = !escClicked;
$('.judith_close').toggleClass("judith");
});
我还希望能够在按ESC键时调用最近点击的项目的功能。这是我的代码:
$(document).keydown(function escape(e) {
if (e.keyCode == 27 && escClicked == false){ // Esc
$(pageClicked).trigger('click');
pageClicked = 'null';
escClicked = true;
}
});
Esc键无法调用该函数,除非我在要调用的函数中有警报。像这样:
$(".judith_toggle_box").click(function() {
pageClicked = '.judith_toggle_box';
escClicked = !escClicked;
$('.judith_close').toggleClass("judith");
//**************
alert("Judith has been called.");
//**************
});
如何在不添加愚蠢警报的情况下让ESC键调用该函数?
答案 0 :(得分:0)
在您的点击功能中添加一个事件参数
尝试将其添加到函数的第一行 - event.preventDefault();
所以例如
$(".judith_toggle_box").click(function(event) {
event.preventDefault();
pageClicked = '.judith_toggle_box';
escClicked = !escClicked;
$('.judith_close').toggleClass("judith");
});
编辑:忘记将事件添加为函数参数,请再次检查