简单的问题.如何在WPF中禁用DocumentViewer的文本选择?这是查看器显示XPS文档然后可以通过鼠标突出显示文本的功能.突出显示的文本也可以复制,但我已经禁用了它.我只是不知道如何禁用突出显示.
谢谢!
我有一个NSTextField标签,其中包含文本.颜色和大小与默认值不同.(文本有点大,绿色)现在,我需要能够选择标签中的文本,以便单击属性文本中嵌入的超链接.这很好用; 但是,在选择文本时,文本的格式将恢复为默认值(较小的黑色字体).
反正有没有停止此行为,以便在用户单击(选择文本)标签时保留我的样式?
编辑:为了记录,我有另一个白色文字标签,选择时不会改变颜色,只有大小.
有很多应用程序允许您在按下Alt键的同时用鼠标扫描选择文本框或矩形.例如,Visual Studio 2010在代码编辑器中执行此操作.Emacs做到了.Winword做到了.我们都看过了.似乎必须有一个标准模式来编码这种行为,但我似乎无法找到它.
我怀疑我没有用正确的关键字搜索,因为我得到的是矩形,Alt-Left,扫描,选择等的错误命中.
我确信我可以对其进行编码,但这意味着禁用RichTextBox中使用的正常选择代码.这听起来很丑陋,容易出错,而且可能比它的价值更多.
任何人都有一个建议(很好!:-))如何做到这一点或一个如何做的例子?
更新:我刚刚在Code Project上发现了这篇可能适用的文章:基于列的选择
对于标准浏览器,您可以使用类似的内容来更改所选文本的颜色:
div.txtArea::selection {
background: transparent;
}
div.txtArea::-moz-selection {
background: transparent;
}
div.txtArea::-webkit-selection {
background: transparent;
}
Run Code Online (Sandbox Code Playgroud)
但我需要用JavaScript来做这件事.
我的用户可以选择文本然后更改颜色.当他们选择另一种颜色时,它会不断更新颜色.由于选择了文本,因此无法看到颜色的样子.我需要将目标元素的选择样式更改为仅在换色器鼠标悬停期间透明.
我尝试过一些事情,包括:
$('div.txtArea').css({
'selection': 'transparent',
'-moz-selection': 'transparent',
'-webkit-selection': 'transparent'
});
Run Code Online (Sandbox Code Playgroud)
有没有办法用javascript做到这一点?
我在iframe中有一个带有designMode的富文本编辑器,可以对小块文本进行语法高亮显示.我希望它更新keyup上的突出显示,但是搞乱DOM会导致帧模糊,因此每次按下一个键时,插入符号都会消失,你不能再输入了.如果解析器可以记住插入符的位置,然后重新聚焦iframe并替换插入符号,那就不会有问题.我已经阅读了getSelection()它的亲戚,但显然onkeyup删除了选择,至少在Chrome中 - getSelection()在onkeyup内调用总是产生一个空选择.有没有解决的办法?
这就是我所拥有的:
<iframe>
<html>
<head>
<script>
function parse() {
if(window.getSelection().type != 'None') {
var range = window.getSelection().getRangeAt(0);
}
var text = document.body.textContent;
//Parse text, output is stored in newtext
document.body.innerHTML = newtext;
document.body.focus();
if(range) {
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
}
}
</script>
</head>
<body onload="document.designMode = 'on'; document.onkeyup = parse;">
Text entered appears here
</body>
</html>
</iframe>
Run Code Online (Sandbox Code Playgroud) 在IE 10,当你在任何文本点击按住CTRL键浏览器选择文本(这意味着文本获得焦点,我想避免这种情况,因为我有一些多选场景CTRL+单击来添加/删除选) .
如何禁用此"功能"?
顺便说一句,我仍然希望能够使用通常的鼠标操作选择文本.
我正在尝试创建一个处理所选文本的Chrome扩展程序.一些网站页面的其他可选文本内容具有导航到新页面的点击/鼠标上/下事件处理程序.
是否有一种方法可以从后台或内容脚本暂时禁用(和恢复)页面的任意事件处理程序,而不会干扰本机文本选择?
最糟糕的情况我想的是分离,克隆体html,允许选择,然后恢复绑定的原始.好像很麻烦.
谢谢!
我正在寻找为文本选择创建一个自定义菜单。我知道可以使用 setCustomSelectionActionModeCallback 编辑操作栏的行为,但在我的情况下,我根本不希望该操作栏显示,我想要自己已经实现的浮动自定义菜单。
唯一的问题是在 TextView 中选择文本后,无法不显示操作栏菜单。
我需要的行为不是标准的剪切/复制/粘贴,我实施的操作是用于突出显示文本的突出显示部分并将其保存到数据库中。
我做了一些修补,我能做的最好的事情是一个凌乱的反射想法,我在 onCreateActionMode 返回 false 并通过反射获得对文本选择句柄的引用。它成功了一半,而且效果很好,因为在这种情况下,任何形式的反射都是非常糟糕的做法。
我希望最后一个支持库在 6.0 中包含浮动文本菜单,虽然我可以在该菜单中实现我自己的自定义视图,但这是一厢情愿的想法。
如果有人有任何可能有用的想法或库,那么我全神贯注。
android textselection android-edittext android-actionmode android-6.0-marshmallow
看看这个片段:
.noselect {
-webkit-touch-callout: none; /* iOS Safari */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
user-select: none; /* Non-prefixed version, currently
supported by Chrome and Opera */
}Run Code Online (Sandbox Code Playgroud)
<p>
Selectable text.
</p>
<p class="noselect">
Unselectable text.
</p>
<p>
Selectable text.
</p>Run Code Online (Sandbox Code Playgroud)
现在三次单击第一行,然后复制。将其粘贴到任何地方,您将能够看到“不可选择的文本”。也会被复制。这只发生在 Chrome 上。有谁知道为什么会发生这种情况以及有什么方法可以解决它?
textselection ×10
css ×3
javascript ×2
selection ×2
wpf ×2
android ×1
c# ×1
click ×1
cocoa ×1
ctrl ×1
getselection ×1
html ×1
jquery ×1
nstextfield ×1
typekit ×1