2011-06-21 90 views
-1

如果我按下G鍵,它會顯示DIV,如果我按下Enter鍵,那麼它會運行我的代碼,但是當我再次按下G鍵隱藏DIV並按回車時,它仍然運行我不想要的代碼。jQuery值true和false

這裏是我的代碼:

var my_val123 = "OFF"; 

document.onkeydown = function(evt) { 
    evt = evt || window.event; 
    if (evt.keyCode == 71) { 
     $("#mainDiv").fadeToggle("slow"); 
     $('#inputfield123').focus(); 
     my_val123 = "ON"; 
    } 
    else if (my_val123 == 'ON' && evt.keyCode == 13) { 
     //do something 
    } 
    else { 
     my_val123 = "OFF"; 
    } 
}; 
+1

究竟是什麼問題? –

+1

由於您使用的是jQuery,是否有某些原因導致您沒有將它用於事件處理? jQuery爲你正常化了一堆東西。 – user113716

+0

像[this](http://jsfiddle.net/ytNrQ/)也許? –

回答

1
var my_val123 = "OFF"; 

document.onkeydown = function(evt) { 
    evt = evt || window.event; 
    if (my_val123 == 'OFF' && evt.keyCode == 71) { 
     $("#mainDiv").fadeToggle("slow"); 
     $('#inputfield123').focus(); 
     my_val123 = "ON"; 
    } 
    else if (my_val123 == 'ON' && evt.keyCode == 13) { 
     //do something 
    } 
    else { 
     my_val123 = "OFF"; 
    } 
}; 

關於你的評論,你必須確保my_val var爲OFF顯示DIV,然後打開它,如果你再次按下鍵要關閉val而不是執行您的輸入代碼。

+0

thx它的工作;) – Reinis