[英]Appending text and editing text of div - button click event
我正在使用div元素和jquery。 我能够创建一个新的div并通过按钮单击事件附加文本。 借助于jqueryui插件,创建的每个div都具有可拖动属性。 另外,我也可以通过onclick事件删除单个div。 但是我遇到了这个实现问题:由于我能够通过单击按钮将文本追加到div上。 如何编辑以前创建的div的文本? JSFIDDLE
jQuery的
/** Remove newly created div **/
$(".remove").click(function(){
$(".draggable").remove();
});
var z = 1;
$('#button').click(function (e) {
/** Make div draggable **/
$('<div />', {
class: 'draggable ui-widget-content',
html: '<span class="close">[X]</span><span class="text">' + $('textarea').val() + '</span>',
appendTo: '.middle-side',
draggable: {
containment: 'parent',
start: function( event, ui ) {
$(this).css('z-index', ++z);
}
}
}).addClass('placement');
/** Contain draggable div **/
$('.middle-side').parent().mousemove(function(e){
var offset = $(this).offset();
var relX = e.pageX - offset.left;
var relY = e.pageY - offset.top;
$('.placement').css({'top': relY + 30,'left': relX + 10, 'position': 'absolute'});
})
});
$('body').on('click', '.draggable .close', function () {
$(this).closest('.draggable').remove();
});
的HTML
<textarea rows="4" cols="50" placeholder="Enter Text Here!"></textarea>
<br/>
<input type="button" id="button" value="Add Div with Text" />
<br/>
<div>
<div class="middle-side empty"></div>
</div>
正如您已经在使用jQuery-ui一样-使用对话框呢?
这是一个(未样式化的)示例。 正如Geraud Mathe所建议的那样,我使用了dblclick()
事件:
theDivJustAdded.dblclick(function() {
var divElem = $(this);
dialog = $( "#dialog-form" ).dialog({
height: 300,
width: 350,
modal: true,
buttons: {
"Save": function() {
divElem.find('.text').text($( "#dialog-form input" ).val());
dialog.dialog( "close" );
},
Cancel: function() {
dialog.dialog( "close" );
}
}
});
}
);
我将为每个添加的div添加一个双击事件侦听器,然后在触发事件时,获取div的文本并将其添加到textarea内,将按钮的文本从“ Add Div with Text”更改为“更新div的内容”,当用户单击按钮时,将相关div的文本替换为textarea内的文本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.