1) 怎樣監則是否衹有 CTRL 按下而排除含 CTRL + ... 的組合?我現在是document.addEventListener("keydown", function(e) {if(e.ctrlKey) {...}}, false);但這樣有個問題,所以含 CTRL 的組合都被響應了2) 在移動鼠標時,怎樣動態檢測其當前位置是否離開某個范圍?例如,當鼠標離開以當前位置為圓心,半徑為50的圓時發出警報3) 我可以通過 window.getSelection() 選出當前被highlight 的文字,有沒有辦法即使文字不被highlight,衹要它在當前鼠標下,把它找出來?就好像金山詞霸那樣,衹要移動鼠標到某個位置,那就會把那個位置下的文字提出來。

解决方案 »

  1.   

    1,之获取ctrl的键值,其余的都false
    2,鼠标移动的时候可以捕捉到当前的坐标,和你所要对比的范围进行比较
    3,这个需要一个mouseover事件,再调用你想要的效果就可以
    这是思路,代码还是不会写的话,就贴出来
      

  2.   

    第三點是甚麼意思?甚麼叫”这个需要一个mouseover事件,再调用你想要的效果就可以 ”,這太模糊了,沒看明白。我是不明白,如果那個文字已被選了,當然好辦,但是現在文字沒有被選了,用甚麼函數提取文字?又用甚麼函數定位?
      

  3.   

    1) if(e.keyCode==17)
    2)当前位置x=x1,y=y1,
    鼠标移动时的位置x2,y2,当(x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)>50*50时,报警。
    3)不会
      

  4.   

    1)就算组合按键也没什么问题 因为键盘操作 肯定是先按下ctrl键 单独按下ctrl也视为ctrl组合按键 要判断 则应该 先确认是否按下ctrl 然后再判断按下的其他键 最后没有按下任何其他键则执行单独的ctrl按键方法2)先要确认被监视目标 mousemove事件中可以获取鼠标的屏幕坐标 在根据监视目标的屏幕坐标和大小就可以响应你的要求 mouseover事件可以写入body 被监视目标的确定根据自己的代码逻辑来3)比较难实现 因为你要在mousemove事件中获取文本的屏幕位置 这个计算牵涉的因素太多了
    参考现在外面的 js屏幕取词 一般都是 获取highlight的字符串 象google的页翻译也是获取鼠标指向的整块内容的文本来翻译