我正在为三星可穿戴设备开发一个web应用程序,我想检测用户长时间按下硬件后退按钮的情况。
到目前为止,我找到的唯一信息是:
document.addEventListener('tizenhwkey', function(e) {...});问题出在哪里?此事件仅在后退按钮被释放时触发,但不幸的是,它不会在后退按钮被按下时触发-并且用于检测在后退按钮被按下和被释放时需要信息时的长按。
有什么办法可以检测到长时间按下后退硬件按钮吗?
发布于 2021-05-28 15:12:34
我查过文件了。但是Tizen平台没有提供区分按下和释放硬件键的方法。
https://docs.tizen.org/application/web/guides/tau/event-handling/
发布于 2022-01-26 13:46:34
Tizen Web确实没有办法检测到长时间的新闻。另一种方法是检测快速双按,而不是长按。这可以使用计时器来完成。
例如。
const doubleClickWaitTime = 400;
let doubleClickTimeout = -1;
window.addEventListener('tizenhwkey', function(ev) {
if (ev.keyName === 'back') {
if (doubleClickTimeout === -1) {
// First click of back button
doubleClickTimeout = setTimeout(() => {
doubleClickTimeout = -1;
backButtonSinglePress();
}, doubleClickWaitTime);
} else {
// Second click of back button
clearTimeout(doubleClickTimeout);
doubleClickTimeout = -1;
backButtonDoublePress();
}
}
});
function backButtonSinglePress() {
// Single press
}
function backButtonDoublePress() {
// Double press
}这将执行以下操作:
backButtonDoublePress()。backButtonSinglePress()。可以修改doubleClickWaitTime变量,让用户有更多时间双击。但是,延迟时间越长,触发单个单击事件所需的时间就越长。
https://stackoverflow.com/questions/67729210
复制相似问题