如何在focusout事件中防止mousedown事件?

德米安

我是 jQuery 的初学者,我添加了一个 jQuery,以便在按钮的焦点消失时(在元素外部单击)保持某些 div 元素在视图中并隐藏其他 div 元素。但是,当您单击按钮时,您会看到“显示”元素。我如何防止这种情况发生?我尝试了一个.mousedown return default动作,但没有运气。

$(".table-btn").focusout(function() {
            $("#pricelist0").show();
            $("#pricelist1, #pricelist2").hide();
    })

编辑:
我创建了一个小提琴来使问题更加明显,因此当您单击另一个按钮时,会出现 pricelist0。

额外:
根据给定的答案,并且为了在单击某些元素时不会失去按钮的焦点,您可以另外添加以下代码。任何元素是您希望保持按钮聚焦的元素。

var lastFocus;
    $("any element").mousedown(function(e) {
    return false;
    });    
    $(".table-btn").blur(function() {
        lastFocus = this;
    });
斯滕

当您单击#pricelist1#pricelist2触发focusout另一个按钮时,这就是#pricelist0显示的原因

试试这个;

$(document).on("click", ":not(.table-btn)", function(e){
    if(e.target !== this)
        return;

    $("#pricelist0").show();
    $("#pricelist1, #pricelist2").hide();
});
$("#1").click(function(){
    $("#pricelist1").show();
    $("#pricelist2, #pricelist0").hide();
});
$("#2").click(function(e){
    $("#pricelist2").show();
    $("#pricelist1, #pricelist0").hide();
});

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在MouseUp事件而不是MouseDown事件中获取DataGridView列的索引?

来自分类Dev

如何在MouseUp事件而不是MouseDown事件中获取DataGridView列的索引?

来自分类Dev

如何在Vuetify FAB按钮中防止事件冒泡

来自分类Dev

按需拖放:如何在单个mousedown事件中启用,开始和继续拖动所有内容?

来自分类Dev

在Angularjs中检测Mousedown事件

来自分类Dev

UserControl中的TextBox MouseDown事件

来自分类Dev

在Angularjs中检测Mousedown事件

来自分类Dev

如何防止ActiveX事件在VBA中触发?

来自分类Dev

如何防止jQuery中的点击事件?

来自分类Dev

如何防止jPlayer事件

来自分类Dev

防止Java中的事件

来自分类Dev

如何捕获mousedown元素之外的mouseup事件?

来自分类Dev

Rubymotion:如何为NSView定义mouseDown事件?

来自分类Dev

如何处理图表部分的 mousedown 事件?

来自分类Dev

使用jQuery防止初始.mousedown()事件之后的后续触发

来自分类Dev

在MouseDown事件中获取形状的WPF名称

来自分类Dev

Mousedown事件在Firefox中无法正常工作

来自分类Dev

在 mousedown 事件中忽略滚动条

来自分类Dev

激发孩子的mousedown事件时如何停止父母的click事件

来自分类Dev

传递参数时如何获取mousedown事件的mouse事件

来自分类Dev

如何在iOS中防止同一UIButton发生多个事件?

来自分类Dev

如何在整个应用程序中防止默认事件动作?

来自分类Dev

如何在其他事件中添加事件-Fullcalendar

来自分类Dev

如何在事件处理程序中获取事件名称

来自分类Dev

如何在Appcelerator Titanium中创建事件后创建事件

来自分类Dev

如何在其他事件中添加事件-Fullcalendar

来自分类Dev

如何在 ondblClickRow 事件中触发 beforeSubmitCell 事件

来自分类Dev

BootstrapToggle如何防止更改事件

来自分类Dev

NSButton的MouseDown事件?

Related 相关文章

  1. 1

    如何在MouseUp事件而不是MouseDown事件中获取DataGridView列的索引?

  2. 2

    如何在MouseUp事件而不是MouseDown事件中获取DataGridView列的索引?

  3. 3

    如何在Vuetify FAB按钮中防止事件冒泡

  4. 4

    按需拖放:如何在单个mousedown事件中启用,开始和继续拖动所有内容?

  5. 5

    在Angularjs中检测Mousedown事件

  6. 6

    UserControl中的TextBox MouseDown事件

  7. 7

    在Angularjs中检测Mousedown事件

  8. 8

    如何防止ActiveX事件在VBA中触发?

  9. 9

    如何防止jQuery中的点击事件?

  10. 10

    如何防止jPlayer事件

  11. 11

    防止Java中的事件

  12. 12

    如何捕获mousedown元素之外的mouseup事件?

  13. 13

    Rubymotion:如何为NSView定义mouseDown事件?

  14. 14

    如何处理图表部分的 mousedown 事件?

  15. 15

    使用jQuery防止初始.mousedown()事件之后的后续触发

  16. 16

    在MouseDown事件中获取形状的WPF名称

  17. 17

    Mousedown事件在Firefox中无法正常工作

  18. 18

    在 mousedown 事件中忽略滚动条

  19. 19

    激发孩子的mousedown事件时如何停止父母的click事件

  20. 20

    传递参数时如何获取mousedown事件的mouse事件

  21. 21

    如何在iOS中防止同一UIButton发生多个事件?

  22. 22

    如何在整个应用程序中防止默认事件动作?

  23. 23

    如何在其他事件中添加事件-Fullcalendar

  24. 24

    如何在事件处理程序中获取事件名称

  25. 25

    如何在Appcelerator Titanium中创建事件后创建事件

  26. 26

    如何在其他事件中添加事件-Fullcalendar

  27. 27

    如何在 ondblClickRow 事件中触发 beforeSubmitCell 事件

  28. 28

    BootstrapToggle如何防止更改事件

  29. 29

    NSButton的MouseDown事件?

热门标签

归档