所以我有一个页面,其中字段是 s,当用户单击它们时,它们会更改为输入以允许更改其值。当用户在输入之外单击时,它会变回一个跨度。这是我正在使用的代码:
$(function () {
$('.txtToInput').live('click', function () {
var input = $('<input />', {'type': 'text','class': 'txtToInput', 'name': 'aname', 'value': $(this).html()});
$(this).parent().append(input);
$(this).remove();
input.focus();
});
$('.txtToInput').live('blur', function () {
var span = $('<span />', {'class': 'txtToInput'});
$(this).parent().append($(span).html($(this).val()));
$(this).remove();
});
});
这工作得很好,但有一个问题:当用户突出显示输入中的文本时,内容会跳到输入之外,并且元素无法更改回跨度。任何想法是什么导致了这种情况以及如何解决?
这是一个演示这种行为的小提琴。