Можно ли привязать нажатие клавиши к div? - PullRequest
1 голос
/ 27 марта 2011

Я пытаюсь использовать этот плагин (палитра цветов). Мне не нравится то, что мне трудно понять, как закрыть диалоговое окно цвета (если оно всплывает - см. Примеры с текстовыми полями).

Мне бы очень хотелось, чтобы он был при закрытии диалога. Я думаю, мне нужно привязать его к div, но я не могу заставить его работать, поэтому я не уверен, возможно ли это.

Ответы [ 2 ]

2 голосов
/ 27 марта 2011
var showing = false;

$('#colorSelector').ColorPicker({
    onShow: function (colpkr) {
        showing = true;
        return false;
    },
    onHide: function (colpkr) {
        showing = false;
        return false;
    }
});

$("body").keyup(function(e){
    if(e.keyCode == 27 && showing) $('#colorSelector').click();
    //Click it again to slide up back up, right?
});

Это должно работать.Единственная вещь, в которой я не уверен, это $('#colorSelector').click();, вам, возможно, придется изменить его на что-то другое, если это не заставит его снова скользить вверх.

1 голос
/ 14 апреля 2012
var listen_event = true;
$(document).bind("keydown", function(e){
    setTimeout(function(){
        if(listen_event){
            // Listen any key you need on key down
        }
    },1);
});

$ ("body") не всегда работает, особенно на ajax html, поэтому лучше используйте $ (document)

Тайм-аут 1 поможет вам проверить ключ или что-либо еще после общего события js / html

надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...