某些支持触控功能的浏览器(例如Mobile Safari)在scale
对象上可以使用rotation
和event
属性来处理touchmove
等事件。
我可以像{...}那样检测对scale
属性的支持。
document.body.addEventListener("touchmove", function(event) {
var supportsScaleProperty = !!event.scale;
});
但是,有没有办法检测它而不必绑定监听器然后在回调中查找属性?
例如,如果这有用吗?
var supportsScaleProperty = !!(new CustomEvent("TouchEvents")).scale;
我尝试查看createEvent()
,但已弃用。我查看了new CustomEvent()
,但不确定哪个字符串用于触摸事件。
答案 0 :(得分:3)
您可以使用Event
constructor:
if ('scale' in new Event("touchmove")) {
// It has it
}
答案 1 :(得分:0)
这似乎不可能。 TJ's solution没有告诉我属性是否存在(即使在支持它们的设备上也不存在)。
所以,看起来我一直坚持......
document.body.addEventListener("touchmove", function(event) {
if (event.scale) {
// ...
}
});