您可以使用鼠标选择网页的一部分.
我知道我可以获取当前选定的文本,但是如何获取包含当前选择的开头或结尾的DOM元素?
双击html页面时,大多数浏览器选择双击的单词(或三键单击的段落).有没有办法摆脱这种行为?
请注意,我不想通过单击+拖动禁用常规选择; 即jQuery UI $('body').disableSelection()和document.onselectstartDOM事件不是我想要的.
我想单击一下取消选择所有值而不id单独使用每个值.
我摆弄了一会儿,但这只取消了第一个值.有什么建议?
这是我尝试取消选择的方式:
$( "#mybutton" ).click(function() {
$("select").select2('val', '')
});
Run Code Online (Sandbox Code Playgroud)
假设我有标记:
<div data-generated="world!">Hello </div>
Run Code Online (Sandbox Code Playgroud)
..带CSS:
div:after {
content: attr(data-generated);
}
Run Code Online (Sandbox Code Playgroud)
这会产生文本:Hello world!- FIDDLE
div:after {
content: attr(data-generated);
}Run Code Online (Sandbox Code Playgroud)
<div data-generated="world!">Hello </div>Run Code Online (Sandbox Code Playgroud)
但...
如果我尝试选择/复制文本 - 只能选择'hello'部分.

有没有办法选择css生成的文本?
注意:
1)我已查看有关生成内容的规范(此处和此处),我没有看到任何对此问题的引用.
生成的内容应该是可搜索的,可选择的,并且可用于辅助技术
2)如果这个问题的答案是"不 - 这是不可能的" - 请链接到一个可靠的来源,说明这一点.
我正在扩展一个WYSIWYG HTML编辑器(对于Firefox),我想在选择周围添加标签.我无法在Mozilla Midas规范中找到实现此功能的功能.
有一个命令用HTML替换选择.
因此,如果我可以阅读选择内容,我可以将我的标签添加到此字符串.
window.getSelection()几乎可以工作,但它给了我nsISelection转换为纯文本字符串.
PS:document.getSelection()返回纯文本字符串甚至不是nsISelection.
我需要文本选择开头的像素坐标(页面上的任何位置,而不是textarea).
我尝试使用光标坐标,但这不能很好地工作,因为光标坐标和选择的开始并不总是相同(例如当用户拖动文本时).
我希望有人有解决方案!
根据维基百科,选择算法具有运行时间O(n),但我不相信它.谁能解释为什么呢O(n)?
在正常的快速排序中,运行时是O(n log n).每次我们分支分成两个分支(比枢轴比枢轴更大,而较小的),我们需要继续处理这两个分支的两侧,而选择算法只需要处理一个分支的一面.我完全理解这些观点.但如果你认为二进制搜索算法的,之后我们选择了中间的元素,我们也在继续寻找一个分支的一面.这样做算法O(1)呢?不,当然,二进制搜索算法仍然O(log N)是O(1).这与二进制搜索树中的搜索元素也是一样的.我们只寻找一个侧面,但我们仍然认为O(log n)不是O(1).
有人可以解释为什么在选择算法,如果我们继续寻找一个侧面,它可以考虑O(1)代替O(log n)?对我来说,我认为算法是O(n log n),O(N)为了分离,以及O(log n)继续寻找的次数.
我在CollectionView中有多个项目,但只有少数项目可以选择.我正在使用委托方法处理这个:
- (BOOL)collectionView:(UICollectionView *)collectionView shouldSelectItemAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
如果选择了可选项,则会出现问题,并且在下一步中,如果shouldSelectItemAtIndexPath返回NO,则拒绝选择不可选项,否则将取消选择所选项.
我也试过用
- (BOOL)collectionView:(UICollectionView *)collectionView shouldHighlightItemAtIndexPath:(NSIndexPath *)indexPath
Run Code Online (Sandbox Code Playgroud)
但这是同样的问题.
这是UICollectionView正确的期望行为吗?如果是,如果选择了一个不可选择的项目,我怎样才能避免取消选中我上次选择的项目?
有输入
<input type="text" id="myTest" value="bla bla bla"/>
Run Code Online (Sandbox Code Playgroud)
这样做(使用jQuery)
$('#myTest').select();
Run Code Online (Sandbox Code Playgroud)
使用默认的深蓝色选择颜色选择"bla bla bla".
现在,有什么办法可以用css改变这种颜色吗?css3可以使用例如更改选择
::-moz-selection {
background: #ffb7b7;
}
Run Code Online (Sandbox Code Playgroud)
但这仅适用于其他元素中的文本,而不适用于html输入.
有任何想法吗?
/ T
如果之前有人问过,请原谅我; 我环顾四周,虽然我可以找到交换(模糊)文档线在崇高的文本,我无法看到交换选择什么.
例如,假设我有以下文字:
<div class="fade-black">...</div>
<div class="fade-white">...</div>
Run Code Online (Sandbox Code Playgroud)
我想切换两个div的颜色.所以我选择black和white.怎么办?有什么内置的,或者我应该考虑自己写一个附加组件?(我知道这个特殊的例子比较简单,但是我的代码中对这种类型的函数有很多需求,我不能简单地交换行,因为内容在其他方面不相同.)
希望这也可以帮助其他人 - 绝对看起来像是一个很好的功能!
selection ×10
html ×7
javascript ×5
jquery ×3
css ×2
dom ×2
algorithm ×1
big-o ×1
css-content ×1
cursor ×1
sublimetext2 ×1