您可以使用可选择元素和文档上的鼠标事件来控制何时开始和结束选择以及何时要测试选择等。
然后在选择过程中,您可以使用它window.getSelection()
来获取有关当前选择的信息。
尝试这样的事情:
var m_MouseDown = false;
document.getElementById('selectMyContent').onmousedown = function (e) {
m_MouseDown = true;
};
document.onmouseup = function (e) {
m_MouseDown = false;
};
document.onmousemove = function(e) {
if (m_MouseDown) {
document.getElementById('showTextHere').innerHTML = getSelectionInfo();
}
}
function getSelectionInfo() {
var selected = "";
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
var range = sel.getRangeAt(i);
var txt = document.createElement('div');
txt.appendChild(range.cloneContents());
selected = range.startContainer.parentNode.id + ':' + range.startOffset + '-' + range.endOffset + ' "' + txt.innerHTML + '"';
}
}
}
return selected;
}
有关示例,请参见http://jsfiddle.net/nY328/10/ 。