javascript - 触发父div的click事件

标签 javascript jquery


我遇到一个问题,当我单击按钮时,取消按钮嵌套在触发器中的 div 中的 .click 会被触发。这会导致lideUp 和slideDown 同时触发,从而导致div 保持可见。我尝试添加一个状态来防止 div 再次向下滑动,但这没有达到预期的效果。

$(add).click(function () {
 var inputDiv = Polymer.dom(root_root).querySelector("#inputDiv");
 if(state == 0){
   $(inputDiv).slideDown(300);
  }
 state = 1;
});
 $(cancel).click(function () {
  var inputDiv = Polymer.dom(root_root).querySelector("#inputDiv");
  $(inputDiv).slideUp(300);
  state = 0;
});

https://jsfiddle.net/kkdoneaj/2/

有人知道如何解决这个问题吗?

最佳答案

使用Event.stopPropagation()停止来自 bubbling 的点击从 #cancel 按钮到父 #add div:

$("#cancel").click(function(e) {
    e.stopPropagation();
    ...
});

https://jsfiddle.net/kkdoneaj/3/

关于javascript - 触发父div的click事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44189704/

相关文章:

javascript - 搜索表单和结果的 Backbone 结构?

javascript - 鼠标悬停时的 SVG map 工具提示,可以单击

javascript - Google 网页缩略图绝对 URI

javascript - 无法使用 Ajax 检索 JSON

JavaScript 原型(prototype)函数问题

使用 WebWorker 的 JavaScript DoS 攻击

javascript - 如何将 JSON 数组转换为 JS?

javascript - 如何通过鼠标滚动按钮左右滚动

javascript - 使用 $.get 打印页面元素

javascript - 使用 AJAX 更新数据表