define(function (require, exports, module) { var init = function () { $(document).on("verifyCodeLoaded", "img.vc-touchclick", initEle) .on("click", "img.vc-touchclick", touchClick) .on("click", "span.vc-touchclick-marker", removeClickMarker); } 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(); var img = parent.find("img"); 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(); parent.find(":hidden").val(_.map(poslist, function (e) { return e.x + "," + e.y; }).join(",")); }; var touchClick = function (e) { var img = $(this); var parent = img.parent(); var pos = { x: e.offsetX, y: e.offsetY }; var imgPos = img.position(); var poslist = img.data("poslist"); //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; //} poslist.push(pos); //add marker var marker = $(""); marker.data("pos", pos); parent.append(marker); //set input parent.find(":hidden").val(_.map(poslist, function (x) { return x.x + "," + x.y; }).join(",")); }; init(); });