Jquery appendTo而不会失去焦点

时间:2017-05-14 17:55:01

标签: jquery append focus lostfocus

我希望在按下li键时将li元素移到上一个同级tab内,并保持对其的关注。但是当我移动时,它正在失去焦点并在元素上执行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;
    })

请建议一些解决方案来移动元素而不会失去焦点。

1 个答案:

答案 0 :(得分:1)

我找不到jquery方法。它由https://stackoverflow.com/users/1175966/charlietfl在评论中手动完成。

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

Unbind是要完成的,因为在我的代码中我删除了已在其他地方附加的元素,因此javascript正在破坏。