多级嵌套按钮

问题描述 投票:0回答:1

我意识到这段代码有很多问题阻碍了我的目标。 这是我的目标。 我想要一个可以添加嵌套元素的动态表单,最好没有层数限制,但至少有9层左右。 我希望用户在启动时看到一个按钮,并且能够添加项目,然后添加每个项目下面的各种项目,然后添加另一组相同类型的项目。 我希望附加的按钮能够附加下一个深度级别。 我想根据添加的不同项目的需要添加表单字段。 所以,简单地说:

  1. 多级嵌套按钮
  2. 每个按钮或部分(按钮和字段)都是可移动的

如果您还有其他问题,请告诉我。 我似乎无法格式化它以获得嵌套和可更改的部分。 感谢您的帮助!

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>



</head>
<body>

<script type="text/javascript">
$(document).ready(function(){
    $("#btn1").click(function(){
        $("ol").append(" <b>New Item</b>.");
    });

    $("#btn2").on("click", function(){
        $("ol").append("<li>New Item Title</li><input type='text'><br /><button id='btn1'>Add Nested Item</button><br /><br />");
    });


});
</script>

<script type="text/javascript">


var counter = 0;

$("button").click(function() {
    $("h2").append("<p class='test'>click me " + (++counter) + "</p>")
});

// With on():

$("h2").on("click", "p.test", function(){
    alert($(this).text());
});


</script>


<button id="btn2">Add Item</button>



<form>
<ol>

</ol>
</form>

</body>
</html>
javascript jquery html
1个回答
0
投票

嵌套按钮并不是最好的模式;但是,对于那些决定这样做的人,您可能需要使用 event.stopPropagation()。我遇到了这样的情况:单击子按钮也会触发父按钮的事件处理程序。这不是预期的行为,但却是预期的行为。

解决方案是使用 event.stopPropagation() 来停止父级的 onClick 事件,以免触发子级的 onClick 函数,反之亦然。

© www.soinside.com 2019 - 2024. All rights reserved.