GlobalEventHandlers.onauxclick - Web API 接口参考 编辑
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
onauxclick 属性是一个 EventHandler
,当 auxclick
事件发生时被调用,例如按下了输入设备上的非主按钮 (e.g. 鼠标中键)。
实现该属性的一个目标是,提高浏览器与按钮行为之间的兼容性 - 事件行为正在更新,以便 click
只触发主按钮点击(例如,鼠标左键)。然后开发人员可以使用 auxclick
来为非主按钮点击提供明确的行为。在此之前,click
通常会针对所有输入设备按钮点击,浏览器行为有些不一致。
语法
element.onauxclick = functionRef(e);
事件处理函数是一个 MouseEvent
对象。只有事件被触发的按钮不同,该事件和普通点击事件的行为是完全相同的。
示例
在这个例子中我们定义了两个事件处理函数:onclick
和 onauxclick
。前者改变按钮背景的颜色,而后者改变按钮前景(文本)的颜色。您可以通过使用多按钮鼠标尝试演示来查看这两种功能(see it live on GitHub; also see the source code)。
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;
}
Note: 如果您使用的是三键鼠标,您会注意到在单击任一非鼠标左键时该 onauxclick
处理程序会运行。
Notes
当用户点击一个元素时,将引发该 click
事件。之后的 click 事件将发生在 mousedown
和 mouseup
事件之后。
每次只有一个 click
处理程序可以通过此属性分配给一个对象。您可能倾向于使用EventTarget.addEventListener()
方法,因为它更灵活并且是 DOM Events 规范的一部分。
规范
onauxclick
不是任何官方规范的一部分,它被定义在 auxclick Draft Community Group Report.
Browser Compatibility
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | ? | 53 (53) | 未实现 | ? | 未实现 |
Feature | Android | Android Webview | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Basic support | 未实现 | ? | ? | 53 (53) | ? | 未实现 | 未实现 |
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论