2011-03-27 27 views
1

我試圖使用this插件(顏色選擇器)。這一個我不喜歡的是,我發現很難找出如何關閉顏色對話框(如果彈出 - 看到的例子與文本框)。可能將按鍵綁定到div?

我很想擁有它,這樣的ESC是將關閉彈出的對話框。我想我需要將它綁定到div,但我不能讓它工作,所以我不知道它是否可能。

回答

2
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
var listen_event = true; 
$(document).bind("keydown", function(e){ 
    setTimeout(function(){ 
     if(listen_event){ 
      // Listen any key you need on key down 
     } 
    },1); 
}); 

$( 「身體」)並不總是工作,特別是具有Ajax的HTML,所以最好使用的$(document)

超時1將幫助您檢查通用JS後鍵或任何/ HTML事件作出

希望這有助於