当我在<span>
点击,跨度变化的输入字段事件replaceWith()后,不会触发
$('table td').on('click', 'span', function() {
var $el = $(this);
var $input = $('<input/>').val($el.text()).attr('class', 'form-control');
$el.replaceWith($input);
var save = function() {
var $p = $ ('<span>').text($input.val());
$input.replaceWith($p);
};
$input.one('blur', save).focus();
});
$('input').on('change', function() {
var target = $(this);
$.ajax({
url: 'url',
data: {
value: target.val(),
ruleId: target.data('rule'),
date: target.data('date')
},
type: 'POST',
success: function(data) {
console.log('updated');
}
});
});
之后,我需要当输入变为赶上
但它不会触发$('input').on('change', function() {
函数了...
大部分的时间(如果不总是)如果jQuery的去除元素DOM,它也销毁了所有连接到它的听众。 – hlfrmn
@George yes一切都包裹在'''$(document).ready(function()''' – yooouuri
_ .on()方法将事件处理程序附加到jQuery对象中当前选定的一组元素,并且您的输入isn' ('change',function(){'执行 – George