我正在使用jQuery插件來替換選擇框,如果在按住Enter鍵的同時按住shift鍵的同時選擇某個項目,我想添加一個隱藏的輸入。我的問題是選擇插件監聽器發生在我的keydown監聽器之前。有沒有辦法讓我的第一個on()
在我的第二個on()
之前執行?或者是否有辦法檢查第二個on()
內部是否正在按住Shift鍵?如果我把它放在第二個on()
內,e.shiftKey
給我undefined
。感謝您的想法!檢查運行功能時是否按下換檔鍵?
var shiftHeld = false;
$(document).on('keydown', function(e) {
if(e.which == 13) {
shiftHeld = e.shiftKey;
}
});
$menu = $('#menu').select2();
$menu.on('select2:close', function (e) {
if(shiftHeld) { $('#form').append('<input type="hidden" name="shift" value="1" />'); }
form.submit();
});
我想你只是需要一個關鍵的處理程序,所以你可以將shiftHeld設置爲false。按照你目前的邏輯,一旦按下一次,shiftHeld就是真的,並保持這種狀態 – Huangism
@黃色感謝!請在下面查看我對該帖子的評論。 – SeaBass