在文本区域内设置焦点不起作用
Setting focus inside textarea doesn't work
我有以下代码:
<div class="modal-body">
<div class="form-group" id="checkDiv_0">
<div class="col-md-2 control-label">
@Translations.ReportCopy
</div>
<div class="col-md-10">
<div class="col-md-1">
<button class="btn btn-primary pull-right"><span class="glyphicon glyphicon-remove"></span></button>
</div>
<div class="col-md-11">
<textarea id="textarea_0" name="Copies" class="form-control textarea-resize"></textarea>
</div>
</div>
</div>
<div class="form-group" id="checkDiv_1">
<div class="col-md-2 control-label">
@Translations.ReportCopy
</div>
<div class="col-md-10">
<div class="col-md-1">
<button class="btn btn-primary pull-right"><span class="glyphicon glyphicon-remove"></span></button>
</div>
<div class="col-md-11">
<textarea id="textarea_1" name="Copies" class="form-control textarea-resize"></textarea>
</div>
</div>
</div>
我想把焦点设置在id为textarea_1
的文本上。如果没有焦点,用户必须在文本区域内左键单击,然后才能在里面开始书写。
我尝试用$('#textarea_1').focus()
,但没有成功。
解决方案:我用这种方法解决了这个问题:
$(document).ready(function () {
$('#modal').on('shown.bs.modal',
function () {
var element = document.getElementById("textarea_0");
element.focus();
});
});
你需要在.ready()
函数中包装你的jQuery代码:
$(document).ready(function(){
$("#textarea_1").focus();
});
你不需要javascript来回答这个问题,因为你可以这样做:
<textarea id="textarea_1" name="Copies" class="form-control textarea-resize" autofocus></textarea>
autofocus属性将文本区域作为默认焦点放在DOM上。
你可以参考这一页:http://www.w3schools.com/tags/att_textarea_autofocus.asp
两个不使用jQuery的例子:
window.onload = function() { document.getElementById('textarea_1').focus(); };
或
window.addEventListener('load', function() { document.getElementById('textarea_1').focus(); }, false);
第二个允许您为单个DOM元素分配多个'onload'
事件。
所需的代码实际上取决于您何时需要关注它。如果你需要在页面加载时给予它焦点,你应该按照@David Li的建议去做。
否则,你可以这样做。
document.getElementById('focusButton').onclick = function(){
document.getElementById('textarea_1').focus();
};
<div class="modal-body">
<div class="form-group" id="checkDiv_0">
<div class="col-md-2 control-label">
@Translations.ReportCopy
</div>
<div class="col-md-10">
<div class="col-md-1">
<button class="btn btn-primary pull-right"><span class="glyphicon glyphicon-remove"></span></button>
</div>
<div class="col-md-11">
<textarea id="textarea_0" name="Copies" class="form-control textarea-resize"></textarea>
</div>
</div>
</div>
<div class="form-group" id="checkDiv_1">
<div class="col-md-2 control-label">
@Translations.ReportCopy
</div>
<div class="col-md-10">
<div class="col-md-1">
<button class="btn btn-primary pull-right"><span class="glyphicon glyphicon-remove"></span></button>
</div>
<div class="col-md-11">
<textarea id="textarea_1" name="Copies" class="form-control textarea-resize"></textarea>
</div>
</div>
</div>
<input type="button" id="focusButton" value="give element focus">
相关文章:
- 为什么(焦点)没有'在这个角度2的例子中不起作用
- jQuery Opera焦点事件不起作用
- jQuery中的焦点方法没有;不起作用
- 焦点到 DOM 元素不起作用
- 在 ASP 中,键下不起作用以更改焦点
- jQuery 选择的插件 - 激活(即焦点)不起作用
- 当焦点位于文本框中时,单击上的 Jquery 不起作用
- jQuery 焦点事件似乎在 qUnit 测试中不起作用
- Javascript焦点在Firefox中不起作用
- 在选择文本框时焦点不起作用
- jQuery焦点不起作用
- 如果焦点在其他元素上,则keydown事件不起作用
- 切换标签页时,窗口焦点在镶边中不起作用
- Jquery.select()在焦点事件上不起作用
- jQuery焦点在Chrome中不起作用
- 在文本区域内设置焦点不起作用
- HTML 事件焦点不起作用
- 下拉验证,焦点方法不起作用
- Javascript焦点对动态加载的输入框不起作用
- 将焦点()放在下一个表单元素上的Javascript函数不起作用