HTML / JS:同时定义onClick和onAuxClick?

时间:2017-03-27 23:15:33

标签: javascript html events onclick mouseevent

因此,Chrome和Firefox似乎推出了onAuxClick(从Chrome 55开始的Chrome)。这应该像onClick但非主要按钮(即中间和左键)。

我有很多HTML代码,如下所示:

<div onClick="someFunc(event);">Click here with either left or middle click</div>

(当然,SomeFunc有一些代码会略有不同,具体取决于它是中间还是左键)。

onAuxClick的添加破坏了所有这些代码,因为中间点击不再触发onClick功能。感谢您非常讨厌,Chrome和Firefox!

无论如何,有什么我可以替换onClick仍然会触发这两个事件?类似的东西:

<div onAnyClick="someFunc(event);">Click here with either left or middle click</div>

现在解决方案是在任何地方调用重复的函数,如下所示:

<div onClick="someFunc(event);" onAuxClick="someFunc(event);">Click here with either left or middle click</div>

感谢。

1 个答案:

答案 0 :(得分:1)

mozilla已经有了一个例子。检查这个小提琴:

// Source: https://developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onauxclick

var button = document.querySelector('button'); 
var html = document.querySelector('html');

function random(number) {
  return Math.floor(Math.random() * number);
}

button.onclick = function() {
  var rndCol = 'rgb(' + random(255) + ',' + random(255) + ',' + random(255) + ')';
  button.style.backgroundColor = rndCol;
};

button.onauxclick = function() {
  var rndCol = 'rgb(' + random(255) + ',' + random(255) + ',' + random(255) + ')';
  button.style.color = rndCol;
}
<button>
  Click Me!
</button>