代码在手机和平​​板电脑上表现不同

时间:2017-08-18 08:43:25

标签: javascript firebase firebase-realtime-database

我已经构建了一个页面,用于在Firebase数据库中写入和读取信息。现在,这在我的电脑上运行良好,并且在检查员中模拟不同的手机和笔记本电脑时。问题是,在实际的Android或iOS上,引用似乎已关闭。它仍然保存到数据库但在错误的地方。我错过了什么?

以下是在数据库中设置值的行:

    database.ref("birds/birdList/" + [newId] + "/seenE").set(checkValue);

例如,在iPhone上,此行设置为:birds / birdList为“seenE:true”或“seenE:false”,具体取决于用户的输入。

我认为它可能与 var newId 有关,在触摸屏上点击不会传递ID,但不知道如何跟踪在实际的手机上(在检查员中我可以记录活动,但正如我所说,无论如何它都模拟为我电脑上的手机)。

function getId() {
var _id = document.activeElement.id;
newId = _id.substring(8);

}

我使用点击活动来触发我的功能。任何意见都表示赞赏!

1 个答案:

答案 0 :(得分:0)

为移动设备尝试touchstart / touchend事件而不是点击?

您可以捕获eventType并将其附加到您的实际事件:

// Use touchstart if available, fallback to click
var clickEventType = document.ontouchstart !== null ? 'touchstart' : 'click'; 

在您的活动中使用clickEventType。这通常对我有用。