Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
易企天创
zui
提交
228aeaa8
Z
zui
项目概览
易企天创
/
zui
11 个月 前同步成功
通知
6
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
37
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zui
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
37
Issue
37
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
228aeaa8
编写于
8月 06, 2014
作者:
C
Catouse
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
+ added mousewheel.js.
上级
d6080420
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
223 addition
and
1 deletion
+223
-1
src/js/import.json
src/js/import.json
+2
-1
src/js/mousewheel.js
src/js/mousewheel.js
+221
-0
未找到文件。
src/js/import.json
浏览文件 @
228aeaa8
[
"store.js"
,
"hotkeys.js"
,
"mousewheel.js"
,
"resize.js"
,
"string.js"
,
"date.js"
,
...
...
@@ -26,7 +27,7 @@
"sortable.js"
,
"dashboard.js"
,
"menu.js"
,
"
table.data
.js"
,
"
datatable
.js"
,
"bootbox.js"
,
"messager.js"
,
"boards.js"
,
...
...
src/js/mousewheel.js
0 → 100644
浏览文件 @
228aeaa8
/*! Copyright (c) 2013 Brandon Aaron (http://brandon.aaron.sh)
* Licensed under the MIT License (LICENSE.txt).
*
* Version: 3.1.12
*
* Requires: jQuery 1.2.2+
*/
(
function
(
factory
)
{
if
(
typeof
define
===
'
function
'
&&
define
.
amd
)
{
// AMD. Register as an anonymous module.
define
([
'
jquery
'
],
factory
);
}
else
if
(
typeof
exports
===
'
object
'
)
{
// Node/CommonJS style for Browserify
module
.
exports
=
factory
;
}
else
{
// Browser globals
factory
(
jQuery
);
}
}(
function
(
$
)
{
var
toFix
=
[
'
wheel
'
,
'
mousewheel
'
,
'
DOMMouseScroll
'
,
'
MozMousePixelScroll
'
],
toBind
=
(
'
onwheel
'
in
document
||
document
.
documentMode
>=
9
)
?
[
'
wheel
'
]
:
[
'
mousewheel
'
,
'
DomMouseScroll
'
,
'
MozMousePixelScroll
'
],
slice
=
Array
.
prototype
.
slice
,
nullLowestDeltaTimeout
,
lowestDelta
;
if
(
$
.
event
.
fixHooks
)
{
for
(
var
i
=
toFix
.
length
;
i
;
)
{
$
.
event
.
fixHooks
[
toFix
[
--
i
]
]
=
$
.
event
.
mouseHooks
;
}
}
var
special
=
$
.
event
.
special
.
mousewheel
=
{
version
:
'
3.1.12
'
,
setup
:
function
()
{
if
(
this
.
addEventListener
)
{
for
(
var
i
=
toBind
.
length
;
i
;
)
{
this
.
addEventListener
(
toBind
[
--
i
],
handler
,
false
);
}
}
else
{
this
.
onmousewheel
=
handler
;
}
// Store the line height and page height for this particular element
$
.
data
(
this
,
'
mousewheel-line-height
'
,
special
.
getLineHeight
(
this
));
$
.
data
(
this
,
'
mousewheel-page-height
'
,
special
.
getPageHeight
(
this
));
},
teardown
:
function
()
{
if
(
this
.
removeEventListener
)
{
for
(
var
i
=
toBind
.
length
;
i
;
)
{
this
.
removeEventListener
(
toBind
[
--
i
],
handler
,
false
);
}
}
else
{
this
.
onmousewheel
=
null
;
}
// Clean up the data we added to the element
$
.
removeData
(
this
,
'
mousewheel-line-height
'
);
$
.
removeData
(
this
,
'
mousewheel-page-height
'
);
},
getLineHeight
:
function
(
elem
)
{
var
$elem
=
$
(
elem
),
$parent
=
$elem
[
'
offsetParent
'
in
$
.
fn
?
'
offsetParent
'
:
'
parent
'
]();
if
(
!
$parent
.
length
)
{
$parent
=
$
(
'
body
'
);
}
return
parseInt
(
$parent
.
css
(
'
fontSize
'
),
10
)
||
parseInt
(
$elem
.
css
(
'
fontSize
'
),
10
)
||
16
;
},
getPageHeight
:
function
(
elem
)
{
return
$
(
elem
).
height
();
},
settings
:
{
adjustOldDeltas
:
true
,
// see shouldAdjustOldDeltas() below
normalizeOffset
:
true
// calls getBoundingClientRect for each event
}
};
$
.
fn
.
extend
({
mousewheel
:
function
(
fn
)
{
return
fn
?
this
.
bind
(
'
mousewheel
'
,
fn
)
:
this
.
trigger
(
'
mousewheel
'
);
},
unmousewheel
:
function
(
fn
)
{
return
this
.
unbind
(
'
mousewheel
'
,
fn
);
}
});
function
handler
(
event
)
{
var
orgEvent
=
event
||
window
.
event
,
args
=
slice
.
call
(
arguments
,
1
),
delta
=
0
,
deltaX
=
0
,
deltaY
=
0
,
absDelta
=
0
,
offsetX
=
0
,
offsetY
=
0
;
event
=
$
.
event
.
fix
(
orgEvent
);
event
.
type
=
'
mousewheel
'
;
// Old school scrollwheel delta
if
(
'
detail
'
in
orgEvent
)
{
deltaY
=
orgEvent
.
detail
*
-
1
;
}
if
(
'
wheelDelta
'
in
orgEvent
)
{
deltaY
=
orgEvent
.
wheelDelta
;
}
if
(
'
wheelDeltaY
'
in
orgEvent
)
{
deltaY
=
orgEvent
.
wheelDeltaY
;
}
if
(
'
wheelDeltaX
'
in
orgEvent
)
{
deltaX
=
orgEvent
.
wheelDeltaX
*
-
1
;
}
// Firefox < 17 horizontal scrolling related to DOMMouseScroll event
if
(
'
axis
'
in
orgEvent
&&
orgEvent
.
axis
===
orgEvent
.
HORIZONTAL_AXIS
)
{
deltaX
=
deltaY
*
-
1
;
deltaY
=
0
;
}
// Set delta to be deltaY or deltaX if deltaY is 0 for backwards compatabilitiy
delta
=
deltaY
===
0
?
deltaX
:
deltaY
;
// New school wheel delta (wheel event)
if
(
'
deltaY
'
in
orgEvent
)
{
deltaY
=
orgEvent
.
deltaY
*
-
1
;
delta
=
deltaY
;
}
if
(
'
deltaX
'
in
orgEvent
)
{
deltaX
=
orgEvent
.
deltaX
;
if
(
deltaY
===
0
)
{
delta
=
deltaX
*
-
1
;
}
}
// No change actually happened, no reason to go any further
if
(
deltaY
===
0
&&
deltaX
===
0
)
{
return
;
}
// Need to convert lines and pages to pixels if we aren't already in pixels
// There are three delta modes:
// * deltaMode 0 is by pixels, nothing to do
// * deltaMode 1 is by lines
// * deltaMode 2 is by pages
if
(
orgEvent
.
deltaMode
===
1
)
{
var
lineHeight
=
$
.
data
(
this
,
'
mousewheel-line-height
'
);
delta
*=
lineHeight
;
deltaY
*=
lineHeight
;
deltaX
*=
lineHeight
;
}
else
if
(
orgEvent
.
deltaMode
===
2
)
{
var
pageHeight
=
$
.
data
(
this
,
'
mousewheel-page-height
'
);
delta
*=
pageHeight
;
deltaY
*=
pageHeight
;
deltaX
*=
pageHeight
;
}
// Store lowest absolute delta to normalize the delta values
absDelta
=
Math
.
max
(
Math
.
abs
(
deltaY
),
Math
.
abs
(
deltaX
)
);
if
(
!
lowestDelta
||
absDelta
<
lowestDelta
)
{
lowestDelta
=
absDelta
;
// Adjust older deltas if necessary
if
(
shouldAdjustOldDeltas
(
orgEvent
,
absDelta
)
)
{
lowestDelta
/=
40
;
}
}
// Adjust older deltas if necessary
if
(
shouldAdjustOldDeltas
(
orgEvent
,
absDelta
)
)
{
// Divide all the things by 40!
delta
/=
40
;
deltaX
/=
40
;
deltaY
/=
40
;
}
// Get a whole, normalized value for the deltas
delta
=
Math
[
delta
>=
1
?
'
floor
'
:
'
ceil
'
](
delta
/
lowestDelta
);
deltaX
=
Math
[
deltaX
>=
1
?
'
floor
'
:
'
ceil
'
](
deltaX
/
lowestDelta
);
deltaY
=
Math
[
deltaY
>=
1
?
'
floor
'
:
'
ceil
'
](
deltaY
/
lowestDelta
);
// Normalise offsetX and offsetY properties
if
(
special
.
settings
.
normalizeOffset
&&
this
.
getBoundingClientRect
)
{
var
boundingRect
=
this
.
getBoundingClientRect
();
offsetX
=
event
.
clientX
-
boundingRect
.
left
;
offsetY
=
event
.
clientY
-
boundingRect
.
top
;
}
// Add information to the event object
event
.
deltaX
=
deltaX
;
event
.
deltaY
=
deltaY
;
event
.
deltaFactor
=
lowestDelta
;
event
.
offsetX
=
offsetX
;
event
.
offsetY
=
offsetY
;
// Go ahead and set deltaMode to 0 since we converted to pixels
// Although this is a little odd since we overwrite the deltaX/Y
// properties with normalized deltas.
event
.
deltaMode
=
0
;
// Add event and delta to the front of the arguments
args
.
unshift
(
event
,
delta
,
deltaX
,
deltaY
);
// Clearout lowestDelta after sometime to better
// handle multiple device types that give different
// a different lowestDelta
// Ex: trackpad = 3 and mouse wheel = 120
if
(
nullLowestDeltaTimeout
)
{
clearTimeout
(
nullLowestDeltaTimeout
);
}
nullLowestDeltaTimeout
=
setTimeout
(
nullLowestDelta
,
200
);
return
(
$
.
event
.
dispatch
||
$
.
event
.
handle
).
apply
(
this
,
args
);
}
function
nullLowestDelta
()
{
lowestDelta
=
null
;
}
function
shouldAdjustOldDeltas
(
orgEvent
,
absDelta
)
{
// If this is an older event and the delta is divisable by 120,
// then we are assuming that the browser is treating this as an
// older mouse wheel event and that we should divide the deltas
// by 40 to try and get a more usable deltaFactor.
// Side note, this actually impacts the reported scroll distance
// in older browsers and can cause scrolling to be slower than native.
// Turn this off by setting $.event.special.mousewheel.settings.adjustOldDeltas to false.
return
special
.
settings
.
adjustOldDeltas
&&
orgEvent
.
type
===
'
mousewheel
'
&&
absDelta
%
120
===
0
;
}
}));
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录