Javascript焦点按钮
Javascript Focus Button
是否可以在页面上有一个按钮,例如名为"下一个"的按钮,单击后会将焦点放在表单中的下一个输入字段上;
function runNext() {
document.getElementById("td").focus();
}
当单击下一个按钮时,它将焦点放在表中的第一个td元素上。
我该如何更改它,以便再次单击时将焦点更改为下一个td元素?与重新关注同一个相反。
使用vanilla js而不使用Jquery!
我认为Document.activeElement在这种情况下不起作用,只需点击按钮即可移动焦点。每次单击该按钮都会获得焦点,Document.ActiveElement将返回该按钮。
http://jsfiddle.net/uyd9ejam/
我会使用tabindex,但如果你真的想要一个按钮来移动焦点,你可以在class属性的帮助下这样做。
var tabindex = 0;
function next(){
var tab = document.getElementsByClassName("td");
tab[tabindex].focus();
if(tabindex == tab.length -1){
tabindex = 0;
}
else{
tabindex ++;
}
}
Document.activeElement
返回当前关注的元素,也就是说,如果用户键入任意键,将获得击键事件的元素。此属性是只读的。
如果当时有文本选择,这通常会返回一个或对象。如果是,则可以使用元素的selectionStart和selectionEnd属性来获取更多详细信息。其他时候,焦点元素可能是按钮、复选框或单选类型的元素(菜单)或元素。
Note: On Mac, elements that aren't text input elements tend not to get focus assigned to them.
通常,用户可以按下tab键在页面上的可聚焦元素之间移动焦点,并使用空格键激活它(按下按钮,选择收音机)。
不要将焦点与对文档的选择混淆,文档主要由静态文本节点组成。请参见window.getSelection()。
如果没有选择,则活动元素为页面的或null。
Note: This attribute is part of the in-development HTML 5 specification.
语法
var curElement = document.activeElement;
$(document).ready(function () {
function onMouseUp(e) {
var outputElement = document.getElementById('output-element');
var outputText = document.getElementById('output-text');
var selectedTextArea = document.activeElement;
var selection = selectedTextArea.value.substring(
selectedTextArea.selectionStart, selectedTextArea.selectionEnd);
outputElement.innerHTML = selectedTextArea.id;
outputText.innerHTML = selection;
}
document.getElementById("ta-example-one").addEventListener("mouseup", onMouseUp, false);
document.getElementById("ta-example-two").addEventListener("mouseup", onMouseUp, false);
});
* {font-family: "monospace"; font-size:10pt;}
.output {color: #c00;}
<div>
Select some text from one of the Textareas below:
</div>
<form id="frm-example" action="#" accept-charset="utf-8">
<textarea name="ta-example-one" id="ta-example-one" rows="8" cols="40">
This is Textarea Example One:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tincidunt, lorem a porttitor molestie, odio nibh iaculis libero, et accumsan nunc orci eu dui.
</textarea>
<textarea name="ta-example-two" id="ta-example-two" rows="8" cols="40">
This is Textarea Example Two:
Fusce ullamcorper, nisl ac porttitor adipiscing, urna orci egestas libero, ut accumsan orci lacus laoreet diam. Morbi sed euismod diam.
</textarea>
</form>
Active Element Id: <span class="output" id="output-element"></span><br/>
Selected Text: <span class="output" id="output-text"></span>
参考-https://developer.mozilla.org/en-US/docs/Web/API/document.activeElement
- 在IE9中的输入字段中输入焦点最近按钮
- 如何使元素在按下按钮时不会失去焦点
- 按钮处于活动状态,焦点无法在Mac FireFox上工作
- 调用焦点时,按钮和跨度之间的区别是什么
- 如何使用jQuery获得超链接上的焦点或文本字段焦点上的按钮
- 如何在单击按钮时获得最后一个焦点文本框输入
- 如何将剑道日期选择器的焦点更改为另一个按钮?i
- 根据焦点获取两个提交按钮之一的值
- 如何通过单击按钮自动打开子窗口作为焦点窗口(IE)
- 如何在僵尸模式关闭后从按钮中删除焦点
- 如何在窗体上保持焦点按钮和发送按钮焦点
- 选择任何一个单选按钮后,单选按钮选项卡焦点无法正常工作
- 如果电子邮件输入处于焦点上,则阻止输入按钮表单提交 (jquery)
- 当用户使用 jquery 将焦点聚焦到文本区域时显示按钮
- 如何为火狐单选按钮添加焦点的视觉指示器
- 如何使按钮在加载页面时失去焦点
- 焦点在单击/更改单选按钮之前运行.是否可以在焦点之前运行单击/更改
- HTML5:使用其他输入框时更改按钮焦点
- 为什么addEventListener不工作的单选按钮's焦点事件在Chrome
- 关于按钮焦点tabindex jquery