gpt4 book ai didi

Javascript触发器选择开始

转载 作者:搜寻专家 更新时间:2023-11-01 04:38:02 25 4
gpt4 key购买 nike

是否可以通过 javascript/jQuery 触发选择开始

在我看来,鼠标文本选择可以分为以下几个步骤:

1) trigger mousedown event and start selection

2) trigger mousemove and move "end point" of selection

3) trigger mouseup and stop selection

可以仅触发步骤 1),即在 span 元素中的文本上......所以在那之后,移动鼠标光标将表现得像选择等待 mouseup?

或者如何实现以及浏览器如何知道选择开始?

Rangy 库:我知道这个用于创建自定义范围选择的 javascript 库。但在我看来,通过鼠标事件模拟自己的选择太复杂了。我只想告诉浏览器,我在 (span,offset 2) 开始选择,它应该在第 2 步) 继续。

最佳答案

您可以在可选元素和文档上使用鼠标事件来控制何时开始和结束选择以及何时测试选择等。

然后在选择期间,您可以使用 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/举个例子。

关于Javascript触发器选择开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13252243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com