Demo - http://jsfiddle.net/P9rs6/On() не работает после изменения HTML
HTML
<span class="js-make-input" data-id="1" data-value="5">5</span>
JQuery
$('.js-make-input').on('dblclick', function(){
var itemID = $(this).attr('data-id');
var value = $(this).attr('data-value');
$(this).attr('class', 'js-edit-row');
$(this).html(' <input type="text" value="' + value + '" data-id="' + itemID + '" style="width: 45px" /> ');
});
$('.js-edit-row').on('dblclick', function(){
$(this).attr('class', 'js-make-input');
$(this).html(value);
var value = $(this).attr('data-value', value);
});
Я могу понять, почему он не работает после второго DblClick.
Вы также можете посмотреть [здесь] (https://coderwall.com/p/ks_27q) о том, как создавать объекты DOM без конкатенации строк. – jeroenvisser101
http://api.jquery.com/on/ –
@ jeroenvisser101 спасибо! Я попытаюсь использовать ваши советы. –