我的jQuery函数有一个问题。首先我会解释我正在尝试做什么。jQuery函数中的神秘循环
我有一个div中的两个元素,即p元素和input元素。元素p是可见的,并且输入元素保持隐藏状态。当用户点击p元素时,输入元素将出现(显示和聚焦),p元素将消失(隐藏)。当输入字段出现时,如果用户键入内容并按下回车键,则会添加一个新的li元素。
这是我当前的代码:
function createFolder() {
// Should be a clickable element
$('#create p').click(function() {
// Hide the p element
$(this).hide();
// Show and focus the createFolder (input field)
$('#createFolder').show().focus();
// If press a key inside input field
$('#createFolder').keypress(function(event) {
// If this key is "enter"
if (event.keyCode == 13) {
// Add a new li element inside menu
$('#menu').append('<li class="expandable"><a href="#">' + $('#createFolder').val() + '</a></li>');
}
});
// Focus out the input field
$('#createFolder').focusout(function() {
// Hide the input field element
$(this).hide();
});
});
}
但是我有一个问题,当我在p元素点击或出(3次点击,例如),当我输入的东西,然后按输入,三个李元素被添加到我的菜单。它就像一个循环,它计数我的点击并聚焦,当我键入内容时,它会添加这些元素。有人可以帮助我呢?如果可能的话,教我为什么会发生这种情况?
感谢您的帮助,它的工作。 – KillCloud