我希望在按下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;
})
请建议一些解决方案来移动元素而不会失去焦点。
答案 0 :(得分:1)
我找不到jquery方法。它由https://stackoverflow.com/users/1175966/charlietfl在评论中手动完成。
Unbind focusout -> append -> trigger focus -> bind focusout
Unbind是要完成的,因为在我的代码中我删除了已在其他地方附加的元素,因此javascript正在破坏。