Merge branch 'fix-touch-events' of github.com:Touchit/raphael into Touchit-fix-touch-events
* 'fix-touch-events' of github.com:Touchit/raphael: Fix Touch events selection in dragMove method Fix Gruntfile to build in windows environment Fix Touch events on Firefox and Chrome Conflicts: raphael-min.js raphael.js
This commit is contained in:
commit
3742b46f20
|
|
@ -55,7 +55,7 @@ module.exports = function(grunt) {
|
|||
svgorvmlRegex = /\.(svg|vml)\.js/,
|
||||
closureRegex = /window\.Raphael.*\(R\)\s*\{/,
|
||||
closureEndRegex = /\}\(window\.Raphael\);\s*$/,
|
||||
exposeRegex = /(\n\s*\/\/\s*EXPOSE(?:\n|.)*\}\)\);)/;
|
||||
exposeRegex = /(\r?\n\s*\/\/\s*EXPOSE(?:\r|\n|.)*\}\)\);)/;
|
||||
|
||||
// Concatenate src
|
||||
src.forEach(function(path) {
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -2692,19 +2692,31 @@
|
|||
stopTouch = function () {
|
||||
return this.originalEvent.stopPropagation();
|
||||
},
|
||||
getEventPosition = function (e) {
|
||||
var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,
|
||||
scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;
|
||||
|
||||
return {
|
||||
x: e.clientX + scrollX,
|
||||
y: e.clientY + scrollY
|
||||
};
|
||||
},
|
||||
addEvent = (function () {
|
||||
if (g.doc.addEventListener) {
|
||||
return function (obj, type, fn, element) {
|
||||
var realName = supportsTouch && touchMap[type] ? touchMap[type] : type,
|
||||
f = function (e) {
|
||||
var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,
|
||||
scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft,
|
||||
x = e.clientX + scrollX,
|
||||
y = e.clientY + scrollY;
|
||||
if (supportsTouch && touchMap[has](type)) {
|
||||
var f = function (e) {
|
||||
var pos = getEventPosition(e);
|
||||
return fn.call(element, e, pos.x, pos.y);
|
||||
};
|
||||
obj.addEventListener(type, f, false);
|
||||
|
||||
if (supportsTouch && touchMap[type]) {
|
||||
var _f = function (e) {
|
||||
var pos = getEventPosition(e),
|
||||
olde = e;
|
||||
|
||||
for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {
|
||||
if (e.targetTouches[i].target == obj) {
|
||||
var olde = e;
|
||||
e = e.targetTouches[i];
|
||||
e.originalEvent = olde;
|
||||
e.preventDefault = preventTouch;
|
||||
|
|
@ -2712,12 +2724,18 @@
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return fn.call(element, e, x, y);
|
||||
};
|
||||
obj.addEventListener(realName, f, false);
|
||||
|
||||
return fn.call(element, e, pos.x, pos.y);
|
||||
};
|
||||
obj.addEventListener(touchMap[type], _f, false);
|
||||
}
|
||||
|
||||
return function () {
|
||||
obj.removeEventListener(realName, f, false);
|
||||
obj.removeEventListener(type, f, false);
|
||||
|
||||
if (supportsTouch && touchMap[type])
|
||||
obj.removeEventListener(touchMap[type], f, false);
|
||||
|
||||
return true;
|
||||
};
|
||||
};
|
||||
|
|
@ -2752,7 +2770,7 @@
|
|||
j = drag.length;
|
||||
while (j--) {
|
||||
dragi = drag[j];
|
||||
if (supportsTouch) {
|
||||
if (supportsTouch && e.touches) {
|
||||
var i = e.touches.length,
|
||||
touch;
|
||||
while (i--) {
|
||||
|
|
|
|||
47
raphael.js
47
raphael.js
|
|
@ -3071,19 +3071,31 @@
|
|||
stopTouch = function () {
|
||||
return this.originalEvent.stopPropagation();
|
||||
},
|
||||
getEventPosition = function (e) {
|
||||
var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,
|
||||
scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft;
|
||||
|
||||
return {
|
||||
x: e.clientX + scrollX,
|
||||
y: e.clientY + scrollY
|
||||
};
|
||||
},
|
||||
addEvent = (function () {
|
||||
if (g.doc.addEventListener) {
|
||||
return function (obj, type, fn, element) {
|
||||
var realName = supportsTouch && touchMap[type] ? touchMap[type] : type,
|
||||
f = function (e) {
|
||||
var scrollY = g.doc.documentElement.scrollTop || g.doc.body.scrollTop,
|
||||
scrollX = g.doc.documentElement.scrollLeft || g.doc.body.scrollLeft,
|
||||
x = e.clientX + scrollX,
|
||||
y = e.clientY + scrollY;
|
||||
if (supportsTouch && touchMap[has](type)) {
|
||||
var f = function (e) {
|
||||
var pos = getEventPosition(e);
|
||||
return fn.call(element, e, pos.x, pos.y);
|
||||
};
|
||||
obj.addEventListener(type, f, false);
|
||||
|
||||
if (supportsTouch && touchMap[type]) {
|
||||
var _f = function (e) {
|
||||
var pos = getEventPosition(e),
|
||||
olde = e;
|
||||
|
||||
for (var i = 0, ii = e.targetTouches && e.targetTouches.length; i < ii; i++) {
|
||||
if (e.targetTouches[i].target == obj) {
|
||||
var olde = e;
|
||||
e = e.targetTouches[i];
|
||||
e.originalEvent = olde;
|
||||
e.preventDefault = preventTouch;
|
||||
|
|
@ -3091,12 +3103,19 @@
|
|||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return fn.call(element, e, x, y);
|
||||
};
|
||||
obj.addEventListener(realName, f, false);
|
||||
|
||||
return fn.call(element, e, pos.x, pos.y);
|
||||
};
|
||||
|
||||
obj.addEventListener(touchMap[type], _f, false);
|
||||
}
|
||||
|
||||
return function () {
|
||||
obj.removeEventListener(realName, f, false);
|
||||
obj.removeEventListener(type, f, false);
|
||||
|
||||
if (supportsTouch && touchMap[type])
|
||||
obj.removeEventListener(touchMap[type], f, false);
|
||||
|
||||
return true;
|
||||
};
|
||||
};
|
||||
|
|
@ -3131,7 +3150,7 @@
|
|||
j = drag.length;
|
||||
while (j--) {
|
||||
dragi = drag[j];
|
||||
if (supportsTouch) {
|
||||
if (supportsTouch && e.touches) {
|
||||
var i = e.touches.length,
|
||||
touch;
|
||||
while (i--) {
|
||||
|
|
|
|||
|
|
@ -1,37 +1,37 @@
|
|||
<!DOCTYPE html>
|
||||
<head>
|
||||
<title>Raphael Dev testing html</title>
|
||||
<title>Raphael Dev testing html</title>
|
||||
|
||||
<!-- HTML to try new developments in Raphael -->
|
||||
<!-- HTML to try new developments in Raphael -->
|
||||
|
||||
<!-- Global use -->
|
||||
<!-- Global use -->
|
||||
|
||||
<!-- Remember to run to pull the eve submodule -->
|
||||
<!-- To work with concatenated version -->
|
||||
<!--<script type="text/javascript" src="raphael.js"></script>-->
|
||||
<!-- Remember to run to pull the eve submodule -->
|
||||
<!-- To work with concatenated version -->
|
||||
<!--<script type="text/javascript" src="raphael.js"></script>-->
|
||||
|
||||
<!-- To work with minified version -->
|
||||
<!--<script type="text/javascript" src="raphael-min.js"></script>-->
|
||||
<!-- To work with minified version -->
|
||||
<!--<script type="text/javascript" src="raphael-min.js"></script>-->
|
||||
|
||||
<!-- To work with dev versions -->
|
||||
<script type="text/javascript" src=" ./eve/eve.js"></script>
|
||||
<script type="text/javascript" src="raphael.core.js"></script>
|
||||
<script type="text/javascript" src="raphael.svg.js"></script>
|
||||
<!-- To work with dev versions -->
|
||||
<script type="text/javascript" src=" ./eve/eve.js"></script>
|
||||
<script type="text/javascript" src="raphael.core.js"></script>
|
||||
<script type="text/javascript" src="raphael.svg.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
// Initialize container when document is loaded
|
||||
window.onload = function(){
|
||||
paper = Raphael(0, 0, 640, 720, "container");
|
||||
};
|
||||
//Work here, in a separate script file or via command line
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
// Initialize container when document is loaded
|
||||
window.onload = function () {
|
||||
paper = Raphael(0, 0, 640, 720, "container");
|
||||
};
|
||||
//Work here, in a separate script file or via command line
|
||||
</script>
|
||||
|
||||
<!-- AMD use -->
|
||||
<!--<script data-main="test" src="require.js"></script>-->
|
||||
<!-- AMD use -->
|
||||
<!--<script data-main="test" src="require.js"></script>-->
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<!-- Container for svg/vml root element -->
|
||||
<div id="container"></div>
|
||||
<!-- Container for svg/vml root element -->
|
||||
<div id="container"></div>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue