【问题标题】:Combine onlick and onmouseover in the same function将 onclick 和 mouseover 组合在同一个函数中
【发布时间】:2017-11-27 17:12:49
【问题描述】:

我想将 onclick 和 onmouseover 组合在同一行中。

我有

if (var) {
        var.onclick = function() {
//          do something
}

我要添加

if (var) {
            var.onclick || var.onmouseover= function() {
    //          do something
    }

类似的东西

【问题讨论】:

  • var myFunc = function(e) {}; var.onclick = var.onmouseover = myFunc;

标签: javascript onclick onmouseover onhover


【解决方案1】:

试试这个方法。但也要改变你的变量名

el.onclick = el.onmouseover = function() {

}

el.onmouseover 将引用一个函数,el.onmouseover = function() 将返回函数引用,该引用也将分配给el.onclick

示例

let a;
let b;

a = b = function() {
  console.log('Test');
};

a();
b();

console.log(a === b);

【讨论】:

    【解决方案2】:

    所有事件都可以存储在一个可以迭代的数组中,并使用addEventListener将事件添加到元素中

    var x = document.getElementById("test")
    
    if (x) {
      ['click', 'mouseover'].forEach(function(item) {
        x.addEventListener(item, function(event) {
          console.log(event.type)
        })
      })
    }
    <button id="test">Test Button</button>

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多