【问题标题】:jquery multiple events on one elementjquery 一个元素上的多个事件
【发布时间】:2017-04-25 17:12:34
【问题描述】:

例如,我如何在一个元素上应用不同的事件

一键我想显示 exampleModal

双击事件

我想显示 LoadedEvents

这两个事件都必须应用于恰好是的一个元素

<span class="glyphicon glyphicon-link connected hoverd"></span>





<!--Connected Events-->
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
    ## One click
</div>

我的 jquery 代码是

<!--Loaded Events-->
<div class="modal fade bs-example-modal-sm" id="LoadedEvents">
  <div class="modal-dialog modal-sm">
    <div class="modal-content">
     Connected events..!
    </div>
  </div>

$('.connected').on('dblclick',function() {
        $('#exampleModal').modal({
            show: true
        });
    });

    $('.hoverd').on('click', function(event) {
        event.preventDefault();
        $('#LoadedEvents').modal({
            show: true
        });
    });

【问题讨论】:

标签: jquery


【解决方案1】:

好吧,您可以使用发送到函数的事件,然后停止它并自己计算点击次数。所以它会是这样的:

var clickCount = 0;
var timeoutTarget;
$('.someElement').click(function(e){
    e.preventDefault();
    clickCount++;
    if(clickCount > 1)
        clearTimeout(timeoutTarget);
    timeoutTarget = setTimeout(function(){
        if(clickCount == 1) {
            // single click
        }
        if(clickCount > 1) {
            // double click
        }
        clickCount = 0;
    }, 300); // The amount of time you think you can give between clicks
});

如果你想测试它,这里有一个小提琴:https://jsfiddle.net/7adad8x0/

【讨论】:

  • 谢谢克里斯。我太忙太兴奋了,忘了说谢谢你的帮助。
  • @ShareKnowledge 我很高兴它有帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
  • 1970-01-01
  • 2017-12-02
  • 2018-11-06
相关资源
最近更新 更多