2013-07-16 52 views
0

我的網站上有一些點擊功能。當我點擊它們時,我想切換特定的類。這是我必須做的,代碼:如果沒有提示,就不能調用jQuery函數

$(".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

在點擊功能添加事件參數

,然後嘗試在給你的函數的第一行 - event.preventDefault();

因此,例如

$(".judith_toggle_box").click(function(event) { 
    event.preventDefault(); 
    pageClicked = '.judith_toggle_box'; 
    escClicked = !escClicked; 
    $('.judith_close').toggleClass("judith"); 
}); 

編輯:忘了添加事件作爲函數參數,請再次檢查

+0

一個事件是什麼參數?它在你的代碼中?因爲我看到的唯一更改是「event.preventDefault();」 p.s.只是補充說不起作用。 – ImHumble

+0

看到編輯。這仍然沒有工作。 – ImHumble

+0

你可以把你的代碼放在小提琴或類似的東西嗎?如果我可以測試 – sahmed24

相關問題