为什么不能使用 nextElementSibling.focus() 和 parentNode.children[0].focus() 将焦点设置在元素上?

用户7988893

我想在 keydown 时移动鼠标焦点enter,以模拟entertab.

function  jump(event){
    var  ob = event.target;
    if(event.keyCode ==  13){
        if(ob.nextElementSibling){
            ob.nextElementSibling.focus();
        }
        else{
            ob.parentNode.children[0].focus();
        }
    }
}
document.body.addEventListener("keydown",jump,true);
content:<input id="1th" type="text">
<br/>
content:<textarea id="2th" cols=6 rows=5></textarea>
<br/>
content:<input id="3th" type="text">
<br/>
content:<input id="4th" type="text">

我的期望:
当您输入一些字符时,例如testinputid为“1th”,然后按回车键,鼠标焦点会跳转到inputid为“2th”的位置。
当您输入某些字符时,例如testinputid“第 4 个”中,然后按 Enter 键,鼠标焦点会跳转到inputid“第 1 个”。

我测试了我的代码,没有出现错误信息,但无法达到我的目标。
如何解决?

断点

我在第 23 行设置了断点,仍然没有找到。

用户7988893

据聊聊callback

1.Format1:script 在头部,添加window.onload.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
<script>
window.onload = function(){
function  jump(event){
    var  ob = event.target;
    if(event.keyCode ==  13){
        if(ob.nextElementSibling != null){
            ob.nextElementSibling.nextElementSibling.focus();
        }
        else {
            ob.parentNode.children[0].focus();
        }
    }
}
document.body.addEventListener("keydown",jump,true);
}
</script>
</head>
<body>
    content:<input id="1th" type="text">
    <br/>
    content:<textarea id="2th" cols=6 rows=5></textarea>
    <br/>
    content:<input id="3th" type="text">
    <br/>
    content:<input id="4th" type="text">
</body>
</html>

格式 2:script 放在最后一个 id 为 的输入的末尾4th

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    content:<input id="1th" type="text">
    <br/>
    content:<textarea id="2th" cols=6 rows=5></textarea>
    <br/>
    content:<input id="3th" type="text">
    <br/>
    content:<input id="4th" type="text">
<script>
function  jump(event){
    var  ob = event.target;
    if(event.keyCode ==  13){
        console.log(ob.nextElementSibling.tagName);
        if(ob.nextElementSibling.tagName == "BR"){
            ob.nextElementSibling.nextElementSibling.focus();
        }
        else if(ob.nextElementSibling.tagName == "SCRIPT"){
            ob.parentNode.children[0].focus();
        }
    }
}
document.body.addEventListener("keydown",jump,true);
</script>
</body>
</html>

整个代码是位置相关的,脚本内容在html文件中的位置不同,你应该为此编写不同的js代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rspec和Capybara:使用jQuery将焦点设置为元素不适用`:focus` CSS

来自分类Dev

正确键入 nextElementSibling 以便可以使用 .focus() 吗?

来自分类Dev

使用.focus()的Javascript Focus

来自分类Dev

使用refs.x.getDOMNode.focus将焦点设置在react-bootstrap.Input字段上

来自分类Dev

DataGrid Focus和SelectedIndex?

来自分类Dev

DataGrid Focus和SelectedIndex?

来自分类Dev

为什么textarea的.focus()和.blur()无法正常工作

来自分类Dev

focus和focus_set方法之间有什么区别?

来自分类Dev

如何使用CSS保留原始的:focus元素?

来自分类Dev

为什么在这种情况下调用Focus()不会设置焦点?

来自分类Dev

当将焦点放在新元素上时,是否可以保证blur()事件在focus()之前发生?

来自分类Dev

jQuery focus()在输入末尾设置焦点

来自分类Dev

将:focus与嵌套的contenteditable元素一起使用

来自分类Dev

如何使用MVVM将Focus设置为WPF控件?

来自分类Dev

为什么不能使用python和Chrome Webdriver单击Selenium中的一个元素?

来自分类Dev

为什么我不能使用jQuery设置相同的高度和宽度?

来自分类Dev

为什么我不能使用jQuery设置相同的高度和宽度?

来自分类Dev

当同级存在时,为什么nextElementSibling和nextSibling为null?

来自分类Dev

CSS:当元素使用 .focus() 聚焦时,焦点选择器不起作用

来自分类Dev

选择更改后,使用元素ui和vue js将焦点设置在输入上

来自分类Dev

为什么将UISearchBar设置为第一响应者后仍无法获得Focus?

来自分类Dev

nav a:focus 的目的是什么

来自分类Dev

无法在条目小部件上设置focus()

来自分类Dev

.focus()不触发使用JQuery添加到DOM的元素

来自分类Dev

为什么mi ListBox无法恢复Focus?

来自分类Dev

使用JavaScript的Focus Mobile Browser

来自分类Dev

.focus()-如何使用contentEditable div将光标置于内容的末尾

来自分类Dev

.focus()-如何使用contentEditable div将光标置于内容的末尾

来自分类Dev

为什么包含'\ 0'和'\ t'的字符串不能使用运算符==与“ \ 0 \ t”进行比较?

Related 相关文章

  1. 1

    Rspec和Capybara:使用jQuery将焦点设置为元素不适用`:focus` CSS

  2. 2

    正确键入 nextElementSibling 以便可以使用 .focus() 吗?

  3. 3

    使用.focus()的Javascript Focus

  4. 4

    使用refs.x.getDOMNode.focus将焦点设置在react-bootstrap.Input字段上

  5. 5

    DataGrid Focus和SelectedIndex?

  6. 6

    DataGrid Focus和SelectedIndex?

  7. 7

    为什么textarea的.focus()和.blur()无法正常工作

  8. 8

    focus和focus_set方法之间有什么区别?

  9. 9

    如何使用CSS保留原始的:focus元素?

  10. 10

    为什么在这种情况下调用Focus()不会设置焦点?

  11. 11

    当将焦点放在新元素上时,是否可以保证blur()事件在focus()之前发生?

  12. 12

    jQuery focus()在输入末尾设置焦点

  13. 13

    将:focus与嵌套的contenteditable元素一起使用

  14. 14

    如何使用MVVM将Focus设置为WPF控件?

  15. 15

    为什么不能使用python和Chrome Webdriver单击Selenium中的一个元素?

  16. 16

    为什么我不能使用jQuery设置相同的高度和宽度?

  17. 17

    为什么我不能使用jQuery设置相同的高度和宽度?

  18. 18

    当同级存在时,为什么nextElementSibling和nextSibling为null?

  19. 19

    CSS:当元素使用 .focus() 聚焦时,焦点选择器不起作用

  20. 20

    选择更改后,使用元素ui和vue js将焦点设置在输入上

  21. 21

    为什么将UISearchBar设置为第一响应者后仍无法获得Focus?

  22. 22

    nav a:focus 的目的是什么

  23. 23

    无法在条目小部件上设置focus()

  24. 24

    .focus()不触发使用JQuery添加到DOM的元素

  25. 25

    为什么mi ListBox无法恢复Focus?

  26. 26

    使用JavaScript的Focus Mobile Browser

  27. 27

    .focus()-如何使用contentEditable div将光标置于内容的末尾

  28. 28

    .focus()-如何使用contentEditable div将光标置于内容的末尾

  29. 29

    为什么包含'\ 0'和'\ t'的字符串不能使用运算符==与“ \ 0 \ t”进行比较?

热门标签

归档