离子事件列表暂挂/选项卡上的父/子问题

布劳哈利

在cordova / ionic应用程序中,有一个上一级监听器和一个上级监听器,该上一级监听器连接了上级监听器,下一级子监听器则订阅了选项卡上的事件,如下所示:

<div on-hold="doSomething()">
   <div on-tap="doSomething2()">...</div>
</div>

它有时会起作用,但是在按下时间大于500ms时,有些情况下执行了选项卡操作而不是保持操作。

可以用更好的方式做到这一点吗?请考虑到child-div完全填写了父项,因此应该保持这种状态。

提前致谢。

布劳哈利

在尝试了stopPropagation之后,我想出了以下答案,需要setTimeout来检查是否握住了鼠标/光标。

当仅单击child-div(red)时,就会发出doSomething2的警报,而按住child-div警报时,则会发出parent的doSomething:

var holding = false;
var secondFunctionCall = false;

document.getElementById("c1").addEventListener('mousedown', function(e) {
 
  holding = true;

  setTimeout(function(){
    if(holding){
      secondFunctionCall = false;
      alert("calling doSomething()");
    }
  },500);

}, false);

document.getElementById("c2").addEventListener('mousedown', function(e) {

  holding = true;
  secondFunctionCall = true;

}, false);

document.getElementById("c2").addEventListener('mouseup', function(e) {

  holding = false;

  if(secondFunctionCall){
    alert("calling doSomething2()");
  }

}, false);
#c2 {
  width: 200px;
  height: 200px;
  background-color: red;
}
#c1 {
  width: 220px;
  height: 220px;
  background-color: yellow;
}
<div id="c1">
  <div id="c2">
  </div>
</div>

当将此代码转换为cordova-app时,鼠标事件类型必须替换为触摸事件类型,因为此处已对此进行了解答

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

离子选项卡导航问题

来自分类Dev

模态上的离子 3 选项卡

来自分类Dev

选项卡上的Keyup事件行为

来自分类Dev

如何在不同的离子选项卡上滑动

来自分类Dev

验证选项卡上的下拉列表

来自分类Dev

问题:新选项卡的离子启动器项目仅在ios模拟器和ios设备上崩溃。但是如果使用离子发球剂则可以

来自分类Dev

如何禁用JQuery选项卡上的单击事件?

来自分类Dev

如何在选择选项卡上捕获事件

来自分类Dev

如何禁用JQuery选项卡上的单击事件?

来自分类Dev

交替选项卡上的开/关单击事件

来自分类Dev

编辑离子选项卡图标样式

来自分类Dev

标头中的离子导航选项卡

来自分类Dev

在离子选项卡中显示网站

来自分类Dev

离子:选项卡视图未呈现

来自分类Dev

离子选项卡烦人的激活颜色

来自分类Dev

离子选项卡活动颜色

来自分类Dev

在Y轴上滚动引导选项卡中的问题

来自分类Dev

角路由问题-离子标头未在选项卡中更新

来自分类Dev

单击事件在一个选项卡上触发,但在其他选项卡上不触发

来自分类Dev

离子:如何创建不带图标的带有离子选项卡的选项卡?

来自分类Dev

CSS选项卡问题与选定的选项卡

来自分类Dev

活动选项卡上的CSS选项卡箭头

来自分类Dev

jQuery选项卡上的选项

来自分类Dev

从引导选项卡捕获“显示”事件

来自分类Dev

Windows窗体选项卡事件

来自分类Dev

从引导选项卡捕获“显示”事件

来自分类Dev

Windows窗体选项卡事件

来自分类Dev

监听选项卡外的事件

来自分类Dev

APT暂挂安装