首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在scalajs网页上的活动跟踪

在scalajs网页上的活动跟踪
EN

Stack Overflow用户
提问于 2016-11-04 13:02:44
回答 1查看 178关注 0票数 1

我试图跟踪网页上的用户活动,比如如果用户在当前选项卡上,那么它应该返回TRUE,然后它应该跟踪鼠标的活动,如左键点击次数、右击次数、用户滚动次数、鼠标上移最大值、鼠标向下、鼠标左下、鼠标右键,用户在当前选项卡上的时间很长,从页面加载到页面上的第一次单击等。我正在导入dom.document以引用该网页,代码如下:

代码语言:javascript
复制
import scala.scalajs.js.JSApp
import org.scalajs.dom
import dom.document

object test extends JSApp{

def main():Unit = {
  val title=document.title.toString() 
}

def appendPar(targetNode: dom.Node, text: String): Unit = {
val parNode = document.createElement("p")
val textNode = document.createTextNode(text)
parNode.appendChild(textNode)
targetNode.appendChild(parNode)
 }
} 

我正在建设一个标尺项目。我怎样才能完成上面的任务?请从这里引导我。提前谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-05 14:27:07

对于具有鼠标事件的一般操作,可以从以下内容开始:

代码语言:javascript
复制
dom.document.onmousedown = (e: dom.MouseEvent) => println("mouseup")
dom.document.onmouseup = (e: dom.MouseEvent) => println("mouseup")
dom.document.onmousemove = (e: dom.MouseEvent) => println("mousemove")
dom.document.onmouseout = (e: dom.MouseEvent) => println("mouseout")
dom.document.onmouseover = (e: dom.MouseEvent) => println("mouseout")
dom.document.onmousewheel = (e: dom.MouseEvent) => println("mousewheel")

如果您需要计算每一段时间(例如每秒钟)的单击次数:

代码语言:javascript
复制
var count = 0 //your counter
var n = 0 //number of times

dom.document.onmousedown = (e: dom.MouseEvent) => count += 1


// ms - duration of an interval in ms

def countMousedown(ms: Int): Unit ={

  if (n == 100) return
  n += 1

  if(n != 0) println(count)

  count = 0

  dom.setTimeout(() => countMousedown(ms), ms)
}

countMousedown(1000)

要获得坐标:

代码语言:javascript
复制
dom.document.onmousedown = (e: dom.MouseEvent) => {

  val coords = (e.clientX, e.clientY)

  println(s"x: ${coords._1}, y: ${coords._2}")

}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40423399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档