【发布时间】:2016-03-06 11:07:50
【问题描述】:
我将首先发布代码,然后尝试详细了解我的问题。
projNav.on('click', '#editProj', function(event) {
event.preventDefault();
clearContent(returned);
clearContent(projEditor);
var editMain = $('#editMain'),
editNav = $('#editNav'),
layerCount = 1;
// Add new layer button
projEditor.html('<div id="editNav"><ul id="layers"><li id="new_layer">+</li></ul></div><div id="editMain"></div>');
// Add new layer button functionality
projEditor.on('click', '#new_layer', function(event) {
event.preventDefault();
$('#layers').append('<li id="layer" name="layer'+layerCount+'">'+layerCount+'</li>');
layerCount++;
});
// Clicking on layer functionality
projEditor.on('click', '#layer', function(event) {
event.preventDefault();
var name = $(this).attr('name');
console.log(name);
});
});
所以基本上我们这里有一个按钮(#editproj),点击它会生成另一个按钮(#new_layer),允许用户在最后一个按钮也是一部分的“ul”中创建一个列表元素的。
如果您只按一次#editProj 按钮,这可以正常工作,但是如果您单击它两次,然后单击#new_layer 按钮,您将获得两次添加的“li”元素。那么你点击#editProj按钮多少次,'li'元素被插入多少次。
我想了解这种行为,但我似乎在任何地方都找不到类似的东西,所以如果有人能引导我朝着正确的方向前进,我将非常感激。
干杯!
【问题讨论】:
标签: javascript jquery dom onclick