我有一个 Cordova 应用程序,在使用 Cordova 服务选项时,其行为有所不同 - 我有一个文本输入字段供用户输入链接,如果用户没有添加 URL 的 http://或 https://部分,一旦字符串长度为,该字段就会自动添加到字符串的开头大于 8 个字符。
当使用 cordovaserve android 直接在浏览器中运行此应用程序时,该功能将按预期工作,因此,例如,如果我输入以下内容,它会自动更改为包含“http://”
www.nba.
//字符串现在自动更改为以下内容并将光标移动到末尾以允许用户完成
http://www.nba.
当我运行 cordova run android 并直接在移动应用程序上运行相同的功能时,相同的代码会执行非常不同的操作。
例如,如果我输入以下内容
www.nba.
//字符串已更改为包含 http,但光标现在在第一个和第二个 w 之间移动(在 www 中)
例如,如下所示:
http://w|ww.nba. // the cursor has moved between the first and second w
我已经尝试使用多个键盘,包括库存 ROM 键盘,但每次都会发生同样的事情?
代码本身相当简单
var pattern = new RegExp("^(http|https)://");
if (pattern.test($scope.post.link) === false) {
$scope.post.link = 'http://' + $scope.post.link;
}
任何人都可以建议为什么这种情况会发生在手机上的 Cordova 构建上,而不是实际的 Cordova 服务上?
最佳答案
我知道没有多大意义,但尝试转义正斜杠new RegEx("^(http|https):\/\/");
关于javascript - 文本输入焦点在 Cordova Android 应用程序上无法按预期工作(但在浏览器中的 cordova 服务上则正常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42833219/