停止 Titanium 中 tableviewrow 的事件侦听器

发布于 2024-11-07 03:24:37 字数 606 浏览 1 评论 0原文

当用户单击 tableviewrow 时,将出现警报框“row”。在 tableviewrow 内部,它包含另一个包含图像视图的视图。当用户单击图像时,将弹出一个警告框“标签”。现在的问题是,当用户单击图像时,不仅会弹出警报框“标签”,还会弹出警报框“行”。当用户单击图像时,如何避免弹出警报框“行”?当用户单击图像以外的表视图行时,会出现警报框“行”。谢谢..Ti

var row = Titanium.UI.createTableViewRow({
   className:'rowclass',
});

var u_image = Titanium.UI.createImageView({
   image: 'image.jpg',
   top:10,
   left:4,
   height:36,
   width:36,
});
row.add(u_image);
RegData.push(row);

u_image.addEventListener('click', function(e){
   alert('label');
});
row.addEventListener('click', function(e){
   alert('row');
});

1.6,Android 2.2

when the user click on the tableviewrow, alert box 'row' will occur. And inside the tableviewrow, it contains another view that contains a image view. An alert box 'label' will popout when user click on the image. Now the problem is when user click on the image, not only the alert box 'label' will popup, but the alert box 'row' too. How can I avoid the alert box 'row' from popping out when user click on the image? The alert box 'row' appear when user click on the tableviewrow other than the image. Thanks..

var row = Titanium.UI.createTableViewRow({
   className:'rowclass',
});

var u_image = Titanium.UI.createImageView({
   image: 'image.jpg',
   top:10,
   left:4,
   height:36,
   width:36,
});
row.add(u_image);
RegData.push(row);

u_image.addEventListener('click', function(e){
   alert('label');
});
row.addEventListener('click', function(e){
   alert('row');
});

Ti 1.6, Android 2.2

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

惟欲睡 2024-11-14 03:24:37

使用 id 创建图像视图,

var u_image = Titanium.UI.createImageView({
   image: 'image.jpg',
   id: "image_view",
   top:10,
   left:4,
   height:36,
   width:36,
});

将侦听器放在整个表格上,而不仅仅是特定元素

myTable.addEventListener('click', function(e){
    if(e.source.id == "image_view") {
        alert('image_view');
    } else {
        alert('row');
    }
});

create your image view with an id

var u_image = Titanium.UI.createImageView({
   image: 'image.jpg',
   id: "image_view",
   top:10,
   left:4,
   height:36,
   width:36,
});

put your listener on the whole table and not just specific elements

myTable.addEventListener('click', function(e){
    if(e.source.id == "image_view") {
        alert('image_view');
    } else {
        alert('row');
    }
});
谜兔 2024-11-14 03:24:37

检查并确保在发出警报之前您没有先单击行内的图像。

row.addEventListener('click', function(e){
    if(e.source != "[object TiUIImageView]") {
        alert('row');
    }
});

Check to make sure you aren't clicking on the image inside of the row first before alerting.

row.addEventListener('click', function(e){
    if(e.source != "[object TiUIImageView]") {
        alert('row');
    }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文