我有一個問題。現在jQuery跨度到輸入,反之亦然
$(function() {
$('span').live('click', function() {
var input = $('<input />', {
'type': 'text',
'name': 'aname',
'value': $(this).html()
});
$(this).parent().append(input);
$(this).remove();
input.focus();
});
$('input').live('blur', function() {
$(this).parent().append($('<span />').html($(this).val()));
$(this).remove();
});
});
和HTML:看代碼波紋管
<span>Click aici</span>
所以,這它的工作原理,很明顯,直到jQuery的1.8.3(含)。在1.8.3 .live()被棄用後,我們需要使用.on()。因此,代碼變成:
$(function() {
$('span').on('click', function() {
var input = $('<input />', {
'type': 'text',
'name': 'aname',
'value': $(this).html()
});
$(this).parent().append(input);
$(this).remove();
input.focus();
});
$('input').on('blur', function() {
$(this).parent().append($('<span />').html($(this).val()));
$(this).remove();
});
});
或者只是:
$(function() {
$('span').click(function() {
var input = $('<input />', {
'type': 'text',
'name': 'aname',
'value': $(this).html()
});
$(this).parent().append(input);
$(this).remove();
input.focus();
});
$('input').blur(function() {
$(this).parent().append($('<span />').html($(this).val()));
$(this).remove();
});
});
但這只是工作的第一次。
在這裏看到演示:http://jsfiddle.net/hW3vk/ 所以,任何想法如何做,將不勝感激。
預先感謝您。
你所說的「第一時間」是什麼意思?如果我點擊和關閉文本,它可以正常工作。 – DevlshOne
工作正常。有什麼問題...? –
他意味着與第二個代碼,而不是.live代碼,你可以看到這裏http://jsfiddle.net/hW3vk/4/ – Anton