aboutsummaryrefslogtreecommitdiffstats
path: root/ui/ui.slider.js
diff options
context:
space:
mode:
authorDavid Bolter <david.bolter@gmail.com>2008-07-14 17:50:43 +0000
committerDavid Bolter <david.bolter@gmail.com>2008-07-14 17:50:43 +0000
commite16cb37f2eea8a1d396588968db39eadeef09b47 (patch)
treea35b7434948efa849038c4aecff470ed5226861f /ui/ui.slider.js
parent0aa54f8dfc6bddfaadc5c84d399a5daced83daa9 (diff)
downloadjquery-ui-e16cb37f2eea8a1d396588968db39eadeef09b47.tar.gz
jquery-ui-e16cb37f2eea8a1d396588968db39eadeef09b47.zip
completes keyboard operation (fixes #3801)
Diffstat (limited to 'ui/ui.slider.js')
-rw-r--r--ui/ui.slider.js21
1 files changed, 17 insertions, 4 deletions
diff --git a/ui/ui.slider.js b/ui/ui.slider.js
index fe2d514a0..bfc6e9c70 100644
--- a/ui/ui.slider.js
+++ b/ui/ui.slider.js
@@ -157,11 +157,21 @@ $.widget("ui.slider", {
keydown: function(keyCode, handle) {
- if(/(37|38|39|40)/.test(keyCode)) {
- var oper = /(37|40)/.test(keyCode) ? "-=" : "+=";
+ var k = keyCode;
+ if(/(33|34|35|36|37|38|39|40)/.test(k)) {
+ var o = this.options, xpos, ypos;
+ if (/(35|36)/.test(k)) {
+ xpos = (k == 35) ? o.max.x : o.min.x;
+ ypos = (k == 35) ? o.max.y : o.min.y;
+ } else {
+ var oper = /(34|37|40)/.test(k) ? "-=" : "+=";
+ var step = /(37|38|39|40)/.test(k) ? "oneStep" : "pageStep";
+ xpos = oper + this[step]("x");
+ ypos = oper + this[step]("y");
+ }
this.moveTo({
- x: oper + this.oneStep("x"),
- y: oper + this.oneStep("y")
+ x: xpos,
+ y: ypos
}, handle);
}
},
@@ -280,6 +290,9 @@ $.widget("ui.slider", {
oneStep: function(axis) {
return this.options.stepping[axis] || 1;
},
+ pageStep: function(axis) {
+ return /* this.options.paging[axis] ||*/ 10;
+ },
start: function(e, handle) {