【问题标题】:Javascript if statement for multiple events多个事件的 Javascript if 语句
【发布时间】:2017-05-14 10:46:19
【问题描述】:

我有一个 div:

<div id="myDiv">This Div is Tracked</div>

我需要一个函数来执行以下操作:

例子:

checkSeveralEvents = () => {

    if (myDivIsHovered || myDivIsClicked || myDivIsFocus) {

        console.log(`myDiv has been ${eventHere}`);

    }

}

我该怎么做?

【问题讨论】:

  • 对 div 的更改取决于它,您可以通过传递其他数据来触发事件,例如 .fire('myDivIsChanged', {type: "focus"}).fire('myDivIsChanged', {type: "clicked"}) 并在一个函数中捕获它,然后处理它,具体取决于传递的类型跨度>
  • 谁或什么打电话给checkSeveralEvents?您可能想先熟悉如何对单一事件类型做出反应。

标签: javascript ecmascript-6


【解决方案1】:

您可以一一监听所有需要的事件:

const d = document.getElementById('myDiv');
const events = ['click', 'mouseleave', 'mouseover'];

events.forEach(e => {
  d.addEventListener(e, (ev) => {
    console.log('My div has been ', e + 'ed')
  })
})
&lt;div id="myDiv"&gt;This Div is Tracked&lt;/div&gt;

【讨论】:

    猜你喜欢
    • 2018-09-24
    • 1970-01-01
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-05
    • 2013-12-17
    • 1970-01-01
    相关资源
    最近更新 更多