我有一些带有类名的td元素,当其中一个td处于焦点时,我需要触发一个弹出窗口。按下 F9 键。我试过以下:
$(document.body).keypress(function (e) {
$(".HolidayName").hover(function () {
if (e.keyCode == 120) {
//alert("first");
SelectedItemOfListOfValue('HolidayNameWindowGrid');
HolidayNameWindow.open(); //Open Popup
}
}, function () {
});
});
我正在使用悬停,因为焦点不能与td元素一起使用(根据我的搜索,不确定)。但目前的输出并不是我想要的。在按下键一次后,它会弹出弹出窗口。将鼠标悬停在该td上。
答案 0 :(得分:2)
添加一个事件监听器以监视 F9 键(keyCode 120)上的按键。此外,在td
悬停/不悬停时设置标志变量。按 f9 时,检查是否设置了悬停标志。如果是,请回复你想要的!
<强> Live demo here (click). 强>
var hovered = 0;
$(document).keydown(function(e) {
if (e.keyCode === 120 && hovered) {
console.log('td hovered and f9 pressed!');
}
});
$('td.hover').hover(function() {
hovered^= true;
}, function() {
hovered^= true;
});
答案 1 :(得分:2)
试试这个。使用事件委托在'td.HolidayName'上委托keyup事件:
$(document).on('keyup', 'td.HolidayName', function(e) {
if (e.which == 120) {
SelectedItemOfListOfValue('HolidayNameWindowGrid');
HolidayNameWindow.open(); //Open Popup
}
});