我正在使用HTML 5和JavaScript为Windows 8 Metro风格应用创建一个应用。我需要在应用程序启动时找到它是触摸基础处理还是基于鼠标的处理(智能手机或台式计算机)。
我尝试过以下事情。
1)如下, http://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.input.pointerdevicetype.aspx
但是我们不确定在函数getPointerDeviceType(pdt)中将“pdt”传递给什么
尝试了各种各样的事情,但它只给我“未定义”。
2)我们尝试使用Modernizr js框架来查找以下代码
if (Modernizr.touch){
// bind to touchstart, touchmove, etc and watch `event.streamId`
} else {
// bind to normal click, mousemove, etc
}
但是当我们插入最新的“Modernizr”的js代码时,它为appendchild命令提供了安全性错误。就像是 “0x800c001c - JavaScript运行时错误:无法添加动态内容。”
任何人都可以告诉我们如何实现,以便根据条件,我们可以执行基于触摸和基于鼠标的应用程序执行代码。
答案 0 :(得分:1)
刚刚解决了。可以对其他人有用。
我把下面的代码放在哪里,我需要找到哪个css我需要申请。
helloButton.addEventListener("MSPointerDown", buttonClickHandler, false);
这是功能:
function buttonClickHandler(eventInfo) {
if (eventInfo.pointerType == eventInfo.MSPOINTER_TYPE_TOUCH) {
// Do something for touch input only
console.log('Touch');
} else {
// Do something for non-touch input
console.log('Mouse');
}
}
您可以根据条件设置代码。
答案 1 :(得分:0)