1

我使用 Dynatree 获取树视图,现在我想将焦点设置在 dynatree 标题元素中的输入字段上,但该元素失去了焦点。

不幸的是,我的代码不起作用。您可以在小提琴中看到它(http://jsfiddle.net/3nD7X/1/)。当您单击文本前面数字的最后一级时,会出现输入字段,但焦点设置在 dynatree 元素上。当我单击输入框时,焦点出现,然后当我的手指释放鼠标(鼠标向上)时再次消失。

$('#tree-team').on('click', '.seeding_list', function() {
    var id = $(this).data('id');
    $('#label_place_' + id).hide();
    $('#input_place_' + id).show();
}).change(function() {
    var id = $(this).data('id');
    console.log("change seeding place");
});

$('#tree-team').on('mouseup', '.tree-editbox', function() {
    return false;
});

$(document).mouseup(function() {
    $('.tree-editbox').hide();
    $('.tree-text').show();
});
4

1 回答 1

1

我对 Dynantree 不太熟悉,也许这很粗糙,但对我有用的是替换

$('#input_place_' + id).show().;

$('#input_place_' + id).blur(function(){$(this).focus()}).show().focus();

处理.blur()事件防止控制失去焦点,使用 last.focus()实际设置焦点

演示:http: //jsfiddle.net/3nD7X/4/

于 2013-12-16T22:04:28.770 回答