【问题标题】:Is there an event for onclick end?是否有 onclick 结束事件?
【发布时间】:2015-05-30 11:45:55
【问题描述】:

我有一个代码只能在 onclick 事件之后执行。在移动设备上很好,因为我使用 touchstart 和 touchend。有没有类似touchend的事件在电脑上使用?

我的代码目前看起来类似于..

document.getElementById('trigger-box').addEventListener(function(e) {
    // the event will be used later
    // my code
});

我曾尝试在互联网上搜索答案,但遗憾的是找不到答案。因此,我在这里发布了我的问题。

【问题讨论】:

  • @FabrizioMazzoni,确实是答案。
  • 我会说Onmousedown
  • 是的。就像@FabrizioMazzoni 说的那样,你可以将click 视为同一元素的mousedownmouseup 的序列。因此,您的 expires 将连接到 mouseup
  • @FabrizioMazzoni 谢谢,这正是我正在寻找的。出于某种原因,我阅读了 onkeydown (我的错误)。非常感谢
  • @IPAddress,没关系,你可以接受他的回答。但从技术上讲,它不能回答您的问题,因为您在点击事件之后请求了一个事件。他的回答没有做到这一点。

标签: javascript jquery html onclick dom-events


【解决方案1】:

onmouseup 发生click 事件执行之前

<button onclick="console.log(1)" onmouseup="console.log(2)">test</button>

因此,我能想到的唯一解决方法是在 click 事件完成时手动调用

function myClick()
{
  console.log('This is in click');
  afterClick();
}

function afterClick()
{
  console.log('This is after click');
}
<button onclick="myClick()" >test</button>

【讨论】:

  • 嗯,它可以工作,但我真的不推荐在 HTML 中嵌入点击事件......请使用console.log(<String>) 进行调试
  • @KarelG,对不起,如果警报令人讨厌。更新了我使用 console.log 的答案。
【解决方案2】:

根据评论:

document.getElementById('trigger-box').addEventListener("mouseup", function(e) {
    // the event will be used later
    // my code
});

【讨论】:

  • 我认为有必要在移动端使用“touchend”。
猜你喜欢
  • 1970-01-01
  • 2020-01-03
  • 2012-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-03
  • 2012-02-29
  • 2019-09-22
相关资源
最近更新 更多