在jQuery-UI中滑塊箭頭鍵移動滑塊句柄(選中/單擊後的句柄),這很好,但我不希望滑塊處理鍵盤(我使用另一個purpouse的頁面上的箭頭鍵)。jQuery-UI滑塊 - 如何禁用鍵盤輸入?
任何想法如何禁用jquery-ui滑塊的鍵盤事件?
在jQuery-UI中滑塊箭頭鍵移動滑塊句柄(選中/單擊後的句柄),這很好,但我不希望滑塊處理鍵盤(我使用另一個purpouse的頁面上的箭頭鍵)。jQuery-UI滑塊 - 如何禁用鍵盤輸入?
任何想法如何禁用jquery-ui滑塊的鍵盤事件?
您可以從手柄解除綁定事件做你想做的,是這樣的:
$("#slider").slider(); //create slider
$("#slider .ui-slider-handle").unbind('keydown'); //disable keyboard actions
您還可以自動像這樣將上述溶液:
$.prototype.slider_old = $.prototype.slider;
$.prototype.slider = function()
{
var result = $.prototype.slider_old.apply(this, arguments);
this.find(".ui-slider-handle").unbind("keydown"); // disable keyboard actions
return result;
}
只需在執行「$(...)。slider()」調用之前運行此代碼,並且它應該自動爲每個調用移除keydown事件,ri ght滑塊初始化後。
我推薦使用滑塊的create
回調解除綁定像這樣:
$("#slider").slider({
create: function() {
disableKeydown();
}
});
function disableKeydown() {
$(".ui-slider-handle").unbind('keydown');
}
這取決於執行第一個答案的情況下,有沒有保證,unbind
功能後,被稱爲滑塊被初始化。第二個答案有助於解決這個問題,但我認爲遵守由jQuery UI提供的API文檔使得這是一種更開發友好的方法,可以減少代碼歧義。
+1一直在尋找這個。 – jdborg 2013-05-15 17:12:10
如何重新綁定事件? – Xyroid 2017-12-27 12:17:22