当我按 Esc 键时,此代码不会隐藏应该隐藏的框div
。
function Boxup(elementN, event){
$("#"+elementN).css({
"display":"block",
"top":event.pageY+"px" ,
"left":event.pageX+"px"
})
}
function hideCurrentPopup(ele){
$(ele).parent().hide();
}
$(this).keyup(function(event) {
if (event.which == 27) {
disablePopup();
}
});
我错过了什么吗?
答案 0 :(得分:1)
从你的代码中我无法确切地说出this
在这一行中指的是什么:
$(this).keyup(function(event) {
因为this
引用"textarea"
或"input"
它会触发事件如果该元素具有焦点 ,否则您正在寻找keyup
document
个活动
但是这是你可以尝试的。
function Boxup(elementN, event){
$("#"+elementN).css({
display : "block",
top : event.pageY , // px are not needed as they are default unit in jQ
left : event.pageX
})
}
function hideCurrentPopup(ele){ // note your function name and the argument!
$(ele).parent().hide(); // (do you need .parent()? I don't know
} // without seeing any HTML sample)
$(document).keyup(function(event) { // document is probably the selector you want
if (event.which == 27) {
hideCurrentPopup("#hereYourPopupID"); // try alike
}
});
PS:确保使用$(some Selector here).keyup(function(event) {
,您无法阻止任何keyup
事件冒泡DOM树到达documentElement