javascript getSelection给我两次值

时间:2017-05-16 11:14:06

标签: javascript

这是我的问题。我正在开发一个翻译镀铬扩展程序,我想要黄色页面显示并在我选择单词时给我翻译。

这是我的代码

var txt = null;

document.onmouseup = function(e) {
  e = e || window.event;
  console.log("upbf    txt:" + txt);
  txt = funGetSelectTxt(); //get Select word
  console.log("up    txt:" + txt);

  if (check(txt)) {
    mydivm.style.display = "block";
    //translate and show
  }
};

document.onmousedown = function(e) {
  txt = "";
  var mydivm = document.getElementById("fgbnbb");

  if (mydivm.style.display == "block") {
    if (!isinclude(e, mydivm)) {
      mydivm.style.display = "none";
    }
  }

  console.log("down  txt:" + txt);
};

var funGetSelectTxt = function() {
  if (window.getSelection) {
    return window.getSelection();
  } 
  else if (document.getSelection) {
    return document.getSelection();
  } 
  else {
    var selection = document.selection && 
    document.selection.createRange();

    if (selection.text) {
      return selection.text;
    }

    return false;
  }

  return false;
};

嗯,问题是,如果我在html标签<p>或其他标签中选择一个单词,它可以很好地工作,但如果我选择一个html标签<text>,则会有一些问题。< / p>

我选择的第一个,页面显示和向下,然后我点击文本,它再次显示(在我的愿望,它将隐藏),并在三次,它隐藏。

我不知道为什么。the console log in the three time,我想知道为什么以及如何解决这个问题。

0 个答案:

没有答案