Javascript 单击和 mousedown 冲突

2024-04-09

我有一个正在使用的特定场景click插入一个div,然后mousedown在该 div 上拖动它。我已经绑定了click到父容器,并且mousedown在 div 本身上。但当我mousedown在 div 上,它也会触发对父级的单击,因此插入多个 div 而不是拖动已添加的 div!

有办法解决这个问题吗?我无法解绑click,因为我需要使用添加 2 个 divclick,然后绑定mousedown在这些上。

更新:我正在使用selector.on(event, handler)绑定类型。


试试这个方法。event.stopPropagation不会阻止鼠标按下后触发单击事件。 mousedown 和 click 事件彼此不相关。

var mousedownFired = false;

$("#id").on('mousedown', function(event) {
    mousedownFired = true;
    //code
});

$("#id").on('click', function(event) {
    if (mousedownFired) {
        mousedownFired = false;
        return;
    }
    //code
});

Update:

鼠标事件的触发方式如下:

  1. 鼠标按下

  2. click

  3. mouseup

如果 mousedown 被触发,mousedownFired变量将被设置为true。然后在点击事件中,就会return(即不继续处理点击事件),并且mousedownFired变量将重置为 false,因此将来的单击事件将正常触发。不会考虑两次鼠标按下或两次单击事件。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Javascript 单击和 mousedown 冲突 的相关文章

  • 使用 jQuery 获取样式标签内容?

    问题 我正在尝试获取内容在样式标签内但我无法让它工作 代码的作用 我使用 jQuery 并尝试使用 text 和 html 获取样式内容 这是行不通的 My code
  • 更改模板标签 <# {% {{ 等后,John Resig 的微模板出现语法错误

    我在使用 John Resig 的 Micro 模板时遇到了一些麻烦 谁能帮我解释为什么它不起作用 这是模板 以及发动机的改装部分 str replace r t n g split join t replace gt t g 1 r re
  • 如何隐藏 URL 中的 ID

    我以前在 Stack Overflow 上见过这类问题 但没有一个真正有帮助 我也用谷歌搜索过 但没有骰子 我想知道如果用户单击选项卡本身是否可以隐藏 URL 中的 ID 这是网页 www planet nu dev new experia
  • 如何使用 jQuery Validate 正确验证放置在多个选项卡上的 Twitter Bootstrap 表单?

    我有一个表单位于多个 Twitter 的 Bootstrap 选项卡上
  • 为什么使用 gridview:true 以及它的含义是什么?

    我正在 JqGrid 上工作 我想知道如果我们指定的话意味着什么gridview true 以及什么情况下我们需要提供 我最近正在开发一个这样的 jqGrid 和我的afterInsertRow没有被调用 一旦我删除了gridview tr
  • 如何禁用向左滚动?

    I got a div 元素 parent 包含多个子元素 item 我想启用滚动父元素一个方向 left OR正确的 否则什么都不会发生 看我的代码 parent scroll function gt gt gt scroll event
  • 为单个列表注册事件处理程序

    我有一个共享点事件处理程序 我想为单个列表激活它 而不是站点中的所有列表 我该怎么办 得到答案了 我们需要运行这段代码 也许在控制台应用程序中 不过 我仍然不知道如何在添加事件处理程序后将其删除 string siteUrl Console
  • 如何计算持续时间?

    我正在开发一个基于网络的应用程序来从系统日期时间捕获开始时间和结束时间 但我的主要问题是我不知道如何获取停机时间的开始时间和结束时间之间的持续时间 Function to get current start time var startTi
  • 如何允许点击穿过 div 但仍然对悬停做出反应?

    说我有divA部分重叠的divB 我怎样才能允许点击divA穿过去divB但仍然有hover悬停时触发divA 我知道pointer events none 这使得点击通过 但也阻止了悬停 我也尝试过以下方法 但它不允许点击失败 docum
  • 使用 CSS3 反转进度条

    我有这个EXAMPLE http jsfiddle net Mils fmaGZ 1 我想将进度条反转 180 度 从右向左进行 要获得这样的东西 我试图改变过渡属性但没有结果 Code progress bar span display
  • 从 JavaScript 重新启动动画 GIF,无需重新加载图像

    我正在使用动画 GIF 创建动画幻灯片 我正在从一个动画淡入淡出到下一个动画 问题是 我发现确保 GIF 从第一帧开始动画的唯一方法是每次显示时重新加载它 每个 GIF 大约 200KB 这对于连续幻灯片播放来说带宽太大了 这是我当前的代码
  • 使用ajax发送表单数据

    我想用 ajax 以表单形式发送所有输入 我有一个这样的表单
  • JQuery - 使用变量处理多个元素的一个处理程序

    我有两个这样定义的变量 var a a b b 如何使用 a 和 b 重写以下行 a b click function e a get 0 b get 0 click function e
  • 添加选中的单选按钮的总数

    UPDATE 如果您尝试此链接上的表格http jsfiddle net Matt KP BwmzQ http jsfiddle net Matt KP BwmzQ 按下小提琴并选择右上角的 40 英镑单选按钮 然后在底部看到订单总额 上面
  • 在 d3 中应用转换时出现错误

    我正在尝试对我在 d3 中设计的条形图应用一些过渡效果 这是我的代码 svg selectAll bar data data enter append g attr class bar append rect attr rx barRadi
  • 按 Enter 键提交消息?

    我正在开发一个基于本教程使用 Meteor 构建的聊天应用程序 http code tutsplus com tutorials real time messaging for meteor with meteor streams net
  • Jquery:排除元素

    我有以下代码 document ready function a rel each function this qtip content text img class middle src i icon processing gif alt
  • 检索受“rowspan”影响的行的列索引的最有效方法是什么?

    考虑下表 table thead tr th th th A th th B th th C th tr thead tbody tr th 1 th td Apples td td Oranges td td Pears td tr tb
  • 使用 jQuery 获取 JSON Facebook Graph API 用户信息

    我正在尝试使用图形 API 来获取有关用户的一些基本信息 无需用户授权 只需获取公共详细信息 我正在尝试使用 jQuery 和 getJSON 来获取数据并解析它 但我很难弄清楚如何访问我想要的键值对 我想要有类似的东西 var fburl
  • 如何在控制台中隐藏日志消息的来源?

    当将消息输出到控制台时 还会显示源代码 在 Chrome 开发者工具中 它位于右侧 console log Foo Source Foo test js 1 Output 但是 在某些网站上 会显示消息without正在显示的源 例如Fac

随机推荐