【问题标题】:how to detect event tap on specific image如何检测特定图像上的事件点击
【发布时间】:2017-12-27 16:44:45
【问题描述】:

var gestures = require("ui/gestures");

for (var i = 0; i < images.length; i++) {
      imgArray[i] = new imageModule.Image();
  imgArray[i].id = "img";
  imgArray[i].width = w / 6;
  imgArray[i].height = h / 7;
  imgArray[i].src = images[i];
  imgArray[i].stretch = "fill";
  wrap_layout.addChild(imgArray[i]);
  imgArray[i].on(gestures.GestureTypes.tap, function (args) {
    console.log("tap"+"|"+i);
  });

我的循环将图像数组添加到 nativescript 上的 WrapLayout 效果很好我的问题是我正在尝试为每个图像实现轻击手势是有效的,但不知道图像的特定索引如何解决它

【问题讨论】:

  • 所以我猜你的问题是记录的索引总是图像的数量?
  • 是的,经过一段时间的调试,我找到了解决方案
  • 那么请在此处提供解决方案并将您自己的答案标记为已接受;)
  • 确定 ;) 我发布了

标签: android nativescript gesture nativescript-telerik-ui


【解决方案1】:
var onTap = function (args) {
console.log('tap');
 };
 images = raw_data.split("\n");
        for (i = 0; i < images.length; i++) {
          var m = re.exec(images[i]);
          idArray[i] = m[0];
          images[i] = images[i].replace(idArray[i], "");
          imgArray[i] = new imageModule.Image();
          imgArray[i].src = images[i];
          imgArray[i].stretch = "fill";
          stackArray[i] = new StackLayout();
          imgArray[i].id = "img";
          imgArray[i].width = sw;
          imgArray[i].height = sh;
          stackArray[i].id = "stack";
          stackArray[i].width = sw;
          stackArray[i].height = sh;
          stackArray[i].num = i;
          stackArray[i].addChild(imgArray[i]);
          wrap_layout.addChild(stackArray[i]);
          stackArray[i].on(buttonModule.Button.tapEvent, onTap, this);
        }

这对我有用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-15
    • 2017-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-18
    • 2017-05-14
    相关资源
    最近更新 更多