如何将焦点设置在dynatree标题中的输入字段中

时间:2013-12-16 19:53:58

标签: javascript jquery html dynatree jquery-dynatree

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

不幸的是我的代码不起作用。你可以在小提琴中看到它(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();
});

1 个答案:

答案 0 :(得分:1)

我对Dynantree并不熟悉,也许这很粗糙,但对我有用的是取代

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

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

处理.blur()事件可防止控件失去焦点,并使用上一个.focus()实际设置焦点

DEMO http://jsfiddle.net/3nD7X/4/