0
我想将div添加到另一个divs。这工作正常。在这里我需要一些帮助,在下面的代码中有一个带有内容可编辑的div和一个保存并关闭按钮。当我点击附加到div的保存按钮。但是当我按下Enter按钮时,我需要使按钮可点击。输入按钮时触发按钮
function createNewList(listName) {
var cardNameFieldElement = $('<div class = "card-name-field" onkeydown=\'cardSave\' style = "white-space : normal; width: 240px; min-height: 60px; border-radius: 3px; margin-left: auto; margin-right: auto; background-color: #ffffff; " contenteditable = "true" data-placeholder = "Add a Card..." ></div>');
var saveCloseCardWrapper = $('<div class ="save-close-card-wrapper" style = "width: 250px; height: 35px; margin-top: 5px;"> \t \t <input class = "save-card" id = \'SAVE_CARD_BTN\' onclick = \'saveNewCard($(this))\' type="button" value="Save" style = "cursor: pointer; width: 60px; height: 30px; background-color: gray; border-color: gray; margin-left: 10px; border-radius: 3px; vertical-align: top;"><img class = "close-card-create" onclick = \'closeCard($(this))\' src = "media/icons/close.png" width="25" height="25" style = "cursor: pointer; margin-top: 4px; margin-left: 3px;"></div>');
}
function saveNewCard(saveCard) {
var parent = saveCard.closest('.board-list');
var cardName = parent.find('.card-name-field').text();
if (cardName !== "") {
var cardNameElement = $('<div class = "card-name">' + cardName + '</div>');
cardNameElement.insertBefore(parent.find('.create-card-section'));
parent.find('.card-name-field').html("");
}
}
请看看代码,给我一些帮助。我试过这种方法,但它不起作用。使用
$(".card-name-field").keyup(function(e) {
if (e.keyCode == 13) {
$(".save-card").click();
}
});
阅读有关[__'Event delegation'__(https://learn.jquery.com/events/event-delegation/) – Rayon
你可以把将您的控件放入表单中,并将所需的方法调用为form的提交。 –
@Melbin“enter”事件是否正常工作?因为我认为您正在动态生成html内容,所以有时事件侦听器附加到它不起作用,因此您必须在插入动态内容之前引用已经存在的父元素。因此,您将eventlistener附加到动态创建的元素,如'$(document).find(“.card-name-field”).keyup(...'和$(document).find(“。save-card”)。点击(“..”。还有一种方法可以做到这一点。 –