javascript - iOS - 手动关注输入/文本区域的解决方法

标签 javascript jquery ios

因此,我看到了很多关于 iOS 问题的线程,这些线程关注的是 input/textarea 元素。 (参见 herehere)似乎 iOS 不会让您手动关注这些元素之一,并且要求它是真正的点击/点击以关注该元素。

我试过模拟点击、触发点击、直接直接执行 click() ……各种各样的事情。

这是我目前正在尝试实现的解决方法:

$scope.gotoElement = function(eID) {
    // call $anchorScroll()
    $scope.smoothScrollTo(eID).then(function() {
        clickElement('#textarea');
    });          
}

function clickElement(e) {
  $(e).on('touchstart', function() {
    //$(e).val('touchstart');
    $(e).focus();
  });

  $(e).trigger('touchstart');
}

您无需担心滚动功能,我知道它可以工作并且我已经对其进行了足够的测试。注释掉的 $(e).val('touchstart') 可以毫无问题地更改文本区域的文本,但是 .focus() 不起作用iOS。我已经在 Android 设备上对此进行了测试,它工作正常,但在 iOS 上它只是不调出键盘。有时它会开始调出键盘半秒钟然后又消失。

我已经查看了上面提到的其他线程,但我似乎无法弄清楚如何为此编写解决方法。

有什么想法吗?

最佳答案

我也遇到过类似的问题。 我的问题通过一个简单的 css 属性解决,即 -webkit-user-select:none 我删除了它并且一切正常。 试试这个。

关于javascript - iOS - 手动关注输入/文本区域的解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30752250/

相关文章:

php - 使用 php 变量和 SQL 语句的日期范围过滤器

jquery - bootstrap jquery 弹出窗口大小

javascript - Ember 数据 JSONAPIAdapter : fetch nested resources

Javascript 在函数后不断变得未定义 - 提示

javascript - jQuery.validate 和按类验证

iphone - 将 UITabBarController 内的 UITabBar 转换到我自己的类(class)

ios - 是否可以从 Swift 中的 UITextView 元素的光标位置获取索引(String.Index)值?

iOS - 如何重新初始化表格 View 单元格

javascript - 使用内联 block 列的网格系统并使用 javascript 删除 html 空白

javascript - 一个或多个 $(document).ready