2015-03-16 19:13:36 +08:00
|
|
|
|
define(function (require, exports, module) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var init = function () {
|
2015-03-18 20:33:06 +08:00
|
|
|
|
$(document)
|
2015-07-31 19:54:22 +08:00
|
|
|
|
.on("verifyCodeLoaded", ".verify-code span", initEle)
|
|
|
|
|
.on("verifyCodeOnLoad", ".verify-code span", initEle)
|
|
|
|
|
.on("click", ".verify-code-touch span", touchClick)
|
|
|
|
|
.on("click", ".vc-touchclick-marker", removeClickMarker);
|
2015-03-16 19:13:36 +08:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var initEle = function () {
|
|
|
|
|
var img = $(this);
|
|
|
|
|
|
|
|
|
|
img.removeData("poslist");
|
|
|
|
|
img.data("poslist", []);
|
|
|
|
|
|
|
|
|
|
img.parent().find(".vc-touchclick-marker").remove();
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var removeClickMarker = function() {
|
|
|
|
|
var marker = $(this);
|
|
|
|
|
var parent = marker.parent();
|
2015-07-31 19:54:22 +08:00
|
|
|
|
var img = parent.find("span");
|
2015-03-16 19:13:36 +08:00
|
|
|
|
var poslist = img.data("poslist");
|
|
|
|
|
|
|
|
|
|
for (var i = 0; i < poslist.length; i++) {
|
|
|
|
|
if (poslist[i] === marker.data("pos"))
|
|
|
|
|
poslist.splice(i, 1);
|
|
|
|
|
}
|
|
|
|
|
marker.remove();
|
2015-07-31 19:54:22 +08:00
|
|
|
|
parent.find("input").val(_.map(poslist, function (e) { return e.x + "," + e.y; }).join(","));
|
2015-03-16 19:13:36 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var touchClick = function (e) {
|
|
|
|
|
var img = $(this);
|
|
|
|
|
var parent = img.parent();
|
|
|
|
|
var pos = { x: e.offsetX, y: e.offsetY };
|
2015-03-18 20:33:06 +08:00
|
|
|
|
var realPos = { x: pos.x, y: pos.y - 30 };
|
2015-03-16 19:13:36 +08:00
|
|
|
|
var poslist = img.data("poslist");
|
2015-03-18 20:33:06 +08:00
|
|
|
|
var imgPos = img.position();
|
|
|
|
|
|
|
|
|
|
if (realPos.x <= 0 || realPos.y <= 0 || poslist.length >= 20)
|
|
|
|
|
return;
|
|
|
|
|
|
2015-03-16 19:13:36 +08:00
|
|
|
|
//var strlist = img.data("strlist");
|
|
|
|
|
|
|
|
|
|
//查找是否已经点击过了
|
|
|
|
|
//var currentMarks = $.makeArray(parent.find(".vc-touchclick-marker"));
|
|
|
|
|
//var current = _.find(currentMarks, function (e) {
|
|
|
|
|
// var p = $(e).data("pos");
|
|
|
|
|
// return p && p.x >= pos.x - 16 && p.x <= pos.x + 16 && p.y >= pos.y - 16 && p.y <= pos.y + 16;
|
|
|
|
|
//});
|
|
|
|
|
//if (current) {
|
|
|
|
|
// for (var i = 0; i < poslist.length; i++) {
|
|
|
|
|
// if (poslist[i] === current.data("pos"))
|
|
|
|
|
// poslist.splice(i, 1);
|
|
|
|
|
// }
|
|
|
|
|
// current.remove();
|
|
|
|
|
// return;
|
|
|
|
|
//}
|
|
|
|
|
|
2015-03-18 20:33:06 +08:00
|
|
|
|
poslist.push(realPos);
|
2015-03-16 19:13:36 +08:00
|
|
|
|
|
|
|
|
|
//add marker
|
|
|
|
|
var marker = $("<span class='vc-touchclick-marker' style='top:" + (pos.y + imgPos.top - 16) + "px; left:" + (pos.x + imgPos.left - 16) + "px;'></span>");
|
2015-03-18 20:33:06 +08:00
|
|
|
|
marker.data("pos", realPos);
|
2015-03-16 19:13:36 +08:00
|
|
|
|
parent.append(marker);
|
|
|
|
|
|
|
|
|
|
//set input
|
2015-07-31 19:54:22 +08:00
|
|
|
|
parent.find("input").val(_.map(poslist, function (x) { return x.x + "," + x.y; }).join(","));
|
2015-03-16 19:13:36 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
init();
|
2015-07-31 19:54:22 +08:00
|
|
|
|
|
|
|
|
|
exports.clearMarks = initEle;
|
2015-03-16 19:13:36 +08:00
|
|
|
|
});
|