JS / jQuery - 强制单击文本区域元素
JS / jQuery - Force a click on a textarea element
所以我环顾四周,因为我需要解决iOS错误,但我的模拟点击似乎都不起作用。我正在尝试手动关注文本区域元素,但要做到这一点,我需要手动模拟对所述文本区域元素的单击。所以这是我尝试过的:
$('#text-input')[0].click();
$('#text-input').click();
$('#text-input').trigger('click');
$('#text-input').focus();
和
$('#text-input').on('click', function {
$(this).focus();
});
$('#text-input').trigger('click');
$('#text-input').on('touchstart', function {
$(this).focus();
});
$('#text-input').trigger('touchstart');
.HTML:
<textarea id="comment-input" class="comment-input" rows="1" maxlength="{{maxTextLength}}" ng-model="newMessage.content" placeholder="{{ messagePlaceholder }}" />
关于为什么这不起作用的任何想法?
尝试.focus
而不是像click
$('#text-input').trigger('focus');
或只是
$('#text-input').focus();
更新
您可以尝试在大多数情况下有效的setTimeout
$("#text-input").on("click", function(event) {
setTimeout(function() {
$(event.target).select(); //or $(event.target).focus();
}, 1);
});
更新 2
您也可以尝试使用touchstart
事件,例如
//trigger touch on element to set focus
$("#text-input").trigger('touchstart');
//event handler to set the focus()
$('#text-input').on('touchstart', function () {
$(this).focus(); // inside this function the focus works
});
相关文章:
- 单击文本时删除文本框的默认数据
- 如何在单击文本时将其更改为文本框
- 通过单击文本更改图片
- 如何在Windows 7/8中通过单击文本输入来显示屏幕键盘
- HTML隐藏输入值随javascript和单击文本而更改
- 单击文本输入时如何执行某些操作
- 当我单击文本框时,如何获得几天的日期
- 如何使用Angularjs动态单击文本框
- 在复选框类型中单击文本框后选择文本框
- 单击文本框后启用提交按钮
- 以编程方式触发空格键单击文本区域
- 单击文本区域可隐藏标签值
- jQuery onClick 事件有效,除非单击文本
- 单击文本框的右键单击上下文菜单的“删除”后触发的事件
- 使用 jquery 单击文本链接
- 如何添加日期选择器当我单击文本框
- 如何单击文本区域,然后使用 jquery 按空格键
- 更改事件中的 METEOR 仅在您单击文本区域后才会在文本区域上触发
- 单击文本时未提交的表单
- 如何让用户通过单击文本来增加字体大小