Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery在不丢失焦点的情况下附加到_Jquery_Append_Focus_Lostfocus - Fatal编程技术网

Jquery在不丢失焦点的情况下附加到

Jquery在不丢失焦点的情况下附加到,jquery,append,focus,lostfocus,Jquery,Append,Focus,Lostfocus,当按下tab键保持焦点时,我想将li元素移动到上一个siblingli中。但当我移动时,它会失去焦点,并在元素上执行focusout .bind("keydown", function(e) { var keyCode = e.keyCode || e.which; if (keyCode == 9) { e.preventDefault(); console.log('Tab pressed: movi

当按下
tab
键保持焦点时,我想将
li
元素移动到上一个sibling
li
中。但当我移动时,它会失去焦点,并在元素上执行
focusout

    .bind("keydown", function(e) {
        var keyCode = e.keyCode || e.which; 

        if (keyCode == 9) {
            e.preventDefault();
            console.log('Tab pressed: moving it');
            $(this).appendTo($(this).prev());

            return false; // ignore default event
        }})
       .focusout(function(e) {
        e.stopPropagation();

        console.log('focusout');
        if(isEmpty($(this)) && $(this).siblings().size() != 0)
        {
            $(this).remove();
        }
        return false;
    })

请提供一些解决方案来移动元素而不丢失焦点。

我找不到jquery方法。如评论中所述,应手动完成

Unbind focusout -> append -> trigger focus -> bind focusout

取消绑定是要完成的,因为在我的代码中,我正在删除已附加到其他地方的元素,因此javascript被破坏。

您不能将一个
  • 附加到另一个
  • 。。。它不是有效的html。您还需要解除绑定,然后再次绑定
    focusout
    ,并手动触发
    focus
    。提供一个为什么不?它起作用了。因为它是无效的。。。。可能正在使用的浏览器中工作。。。而且它可能没有被放置在你认为它是的地方,或者它不会在所有浏览器中都这样做。这里有一些基本的规则来说明哪些标签是允许的,哪些是不允许的。我使用的节点在工作的地方使用铬。请自己阅读