是否可以禁用文本选择以使PhoneGap应用程序更像普通本机应用程序?
像这样的东西:
document.onselectstart = function() {return false;}
Run Code Online (Sandbox Code Playgroud)
要么:
* {
user-select: none;
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
}
Run Code Online (Sandbox Code Playgroud)
或许多其他事情都行不通.
我需要文本选择开头的像素坐标(页面上的任何位置,而不是textarea).
我尝试使用光标坐标,但这不能很好地工作,因为光标坐标和选择的开始并不总是相同(例如当用户拖动文本时).
我希望有人有解决方案!
我正在寻找一种方法来阻止用户将光标位置移动到任何地方.光标应始终保持在当前EditText值的末尾.除此之外,用户不应该在EditText中选择任何内容.您是否知道如何在Android中使用EditText实现这一目标?
澄清一下:用户应该能够插入文本,但仅限于最后.
我的iPhone应用程序中有一个UITextField.我知道如何使文本字段选择其所有文本,但如何更改选择?假设我想选择最后5个字符,或者特定范围的字符,那可能吗?如果没有,我可以移动标记选择开始和结束的线条,就好像用户正在拖动它们一样吗?
在JavaScript中,有多种方法可以访问用户的文本选择,以及创建文本选择(或范围) - 请参阅http://www.quirksmode.org/dom/range_intro.html.
根据该页面,您可以以编程方式创建范围,并访问其中的文本.但这样做并不会改变用户的文本选择,或者如果用户没有选择文本,则会使用户选择一些文本.
您可以在JavaScript中设置和/或更改用户的文本选择吗?
我经常需要选择一个文本块,就像在许多行上出现的主角一样.LibreOffice有块选择.我怎么能在Geany做到这一点?
例如,我想删除每一行开头的管道和空间:
| Create another 'Login Role' for the 'auth' user:
| Role name: auth
| Password: auth
| Role privileges: Create database objects
Run Code Online (Sandbox Code Playgroud) MacVim中一个更好的功能是可以使用通常的OS命令来复制和粘贴文本(即命令+ C和命令+ V).
这在你刚刚在另一个编辑器中工作的情况下特别好看,而你的大脑还没有准备好告诉你如何输入真实的东西.
但是,我的大脑需要做的一件事就是思考:这是文本选择模式.在非vi编辑器中,我将使用Shift + Arrow,在MacVim中尝试此操作不起作用.但另一方面,它并不认为Shift + Arrow也被用于其他任何事情.是否可以重新映射密钥以使其成为可能?
(理想情况下,编辑器在选择文本后仍然处于插入模式;这将节省一些额外的击键.)
我有以下非常简单的html页面:
<html>
<head>
<script type="text/javascript">
function alertSelection()
{
var selection = window.getSelection();
var txt = selection.toString();
alert(txt);
}
</script>
</head>
<body>
This is <span style="background-color:black;color:white">the</span> text.
<div style="background-color:green;width:30px;height:30px;margin:30px"
onmouseover="alertSelection()">
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我选择整个第一行并将鼠标悬停在方格上时,我会收到"这是文本"的警报.
我如何解决此问题,以便不会从警报消息中删除span标记或任何其他选定的HTML?
编辑:我正在寻找如何从中获取完整的HTML window.getSelection().警报对话框就是我试图验证代码的方式.我只关心在Safari中工作.
我想通过使用Javascript发送location/anchorOffset和length/offset来选择文本.这是我的代码
var node = document.getElementById("content");
var range = document.createRange();
range.setStart(node, 0);
range.setEnd(node, 4); // here 0 and 4 is my location and length for the selection
// if my string is "This is test string" in my case its must select "This"
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
Run Code Online (Sandbox Code Playgroud)
但问题在于range.setStart和range.setEnd它没有像我预期的那样工作
我有一个非常奇怪的问题.在我的iOS上的cordova应用程序中,当我长按应用程序中的任何位置时,我会得到一个弹出式文本选择放大镜.
例:
顶部的气泡锁定在屏幕顶部,当我的手指从一侧移动到另一侧时,按照我的x位置.
我试图添加以下css,人们说应该解决我的问题:
* {
-webkit-tap-highlight-color: rgba(0,0,0,0);
-webkit-touch-callout: none;
-webkit-user-select: none;
}
Run Code Online (Sandbox Code Playgroud)
这没有用.在Web检查器中查看内容,我可以确认此css已成功添加到所有内容中.我已经尝试了一堆正常的不同变化touch-callout: none和user-select: none每个人都认为,没有什么没什么帮助.
我还尝试删除所有的javascript和所有CSS,除了上面提到的简单变体,放大镜仍然出现.
我怎么能让它消失?是否有任何插件可能导致此问题?任何帮助深表感谢.
Cordova插件:
Cordova版本:5.1.1 iPhone 5s,iOS版本:9.0.1