Из кода я не могу точно сказать, что 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
В вашем примере, когда ключ КЭБ нажмите «disablePopup», но в вашем примере нет disablePopup? – Kolban
Кроме того, escape-ключ, похоже, привязан к 'this' ... это внутри какого-то другого кода или вы хотите привязать к чему-то вроде« body »? – rfornal