This commit is contained in:
ckcz123 2019-12-31 11:44:01 +08:00
parent f4c200d3fb
commit 6c0f286b46
3 changed files with 16 additions and 8 deletions

View File

@ -230,9 +230,10 @@ core.onmove(loc)
注册的onmove交互函数需要接受x, y, px, py四个参数代表当前的的位置和像素坐标。 注册的onmove交互函数需要接受x, y, px, py四个参数代表当前的的位置和像素坐标。
core.onup() core.onup(loc)
当从屏幕上离开时的操作。请注意此函数是没有参数的 当从屏幕上离开时的操作。loc为当前的坐标信息
请勿直接覆盖或调用此函数,如有需要请注册一个"onup"的交互函数。 请勿直接覆盖或调用此函数,如有需要请注册一个"onup"的交互函数。
注册的onup交互函数需要接受x, y, px, py四个参数代表当前的的位置和像素坐标。
core.onclick(x, y) core.onclick(x, y)
@ -253,7 +254,7 @@ core.keyDownCtrl()
core.longClick() core.longClick()
当长按住屏幕时执行的操作。 当长按住屏幕时执行的操作。
请勿直接覆盖或调用此函数,如有需要请注册一个"keyDownCtrl"的交互函数。 请勿直接覆盖或调用此函数,如有需要请注册一个"longClick"的交互函数。
注册的交互函数如果某一项返回true则之后仍然会继续触发该长按 注册的交互函数如果某一项返回true则之后仍然会继续触发该长按
如果全部返回false则将停止本次长按行为直到手指离开屏幕并重新进行长按为止。 如果全部返回false则将停止本次长按行为直到手指离开屏幕并重新进行长按为止。
``` ```

View File

@ -535,8 +535,10 @@ actions.prototype._sys_onmove = function (x, y) {
} }
////// 当点击(触摸)事件放开时 ////// ////// 当点击(触摸)事件放开时 //////
actions.prototype.onup = function () { actions.prototype.onup = function (loc) {
this.doRegisteredAction('onup'); var x = parseInt(loc.x / loc.size), y = parseInt(loc.y / loc.size);
var px = parseInt(loc.x / core.domStyle.scale), py = parseInt(loc.y / core.domStyle.scale);
this.doRegisteredAction('onup', x, y, px, py);
} }
actions.prototype._sys_onup_paint = function () { actions.prototype._sys_onup_paint = function () {

11
main.js
View File

@ -464,9 +464,12 @@ main.dom.data.onmousemove = function (e) {
} }
////// 鼠标放开时 ////// ////// 鼠标放开时 //////
main.dom.data.onmouseup = function () { main.dom.data.onmouseup = function (e) {
try { try {
main.core.onup(); e.stopPropagation();
var loc = main.core.actions._getClickLoc(e.clientX, e.clientY);
if (loc == null) return;
main.core.onup(loc);
}catch (e) { main.log(e); } }catch (e) { main.log(e); }
} }
@ -504,7 +507,9 @@ main.dom.data.ontouchmove = function (e) {
main.dom.data.ontouchend = function (e) { main.dom.data.ontouchend = function (e) {
try { try {
e.preventDefault(); e.preventDefault();
main.core.onup(); var loc = main.core.actions._getClickLoc(e.targetTouches[0].clientX, e.targetTouches[0].clientY);
if (loc == null) return;
main.core.onup(loc);
} catch (e) { } catch (e) {
main.log(e); main.log(e);
} }