ger*_*lol 42 javascript jquery ios
所以我已经看到很多关于iOS问题的线索,专注于输入/ textarea元素.(看这里和这里)似乎iOS不会让你手动专注于其中一个元素,并要求它是一个真正的点击/点击以专注于元素.
我已经尝试模拟点击,触发点击,只需点击()直接点击...各种各样的事情.
以下是我目前正在尝试实施的解决方法:
$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');
}
Run Code Online (Sandbox Code Playgroud)
你不需要担心滚动功能,我知道这有效,我已经测试了足够的.注释掉的$(e).val('touchstart')工作没有问题来改变textarea的文本,但是.focus()在iOS上不起作用.我已经在Android设备上测试了它,它工作正常,但在iOS上它只是没有调出键盘.有时它会开始调高键盘半秒钟然后再次消失.
我已经看过上面提到的其他线程了,我似乎无法弄清楚如何为此编写解决方法.
有任何想法吗?
Pey*_*man 12
在你的UIWebView,设置keyboardDisplayRequiresUserAction为NO.
我使用 iPad Air [iOS 7.0.4]、iPad Mini [iOS 7.1] 和 jQuery [1.11.3] 进行测试。
.focus 事件在输入和文本区域字段中都非常适合我。
我粘贴下面我测试过的代码。如果我遗漏了什么,请告诉我。
是否适用于某些以前版本的 iOS/jQuery?
我的 HTML,
<body>
<!--<input id="in" type="text"/>-->
<textarea id="in"></textarea>
<button id="btn">Add Focus</button>
</body>
Run Code Online (Sandbox Code Playgroud)
我的查询,
$('#btn').click(function(){
$('#in').focus();
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23674 次 |
| 最近记录: |