[英]jQuery .on("click", ".dropdown-menu li a", function () not working
[英]Jquery on("click") don't work when selecting text from dropdown-menu
我正在使用引导程序中的下拉菜单并使用 jquery 更改选择时的下拉文本。 当使用 jquery 动态创建下拉菜单时,问题就出现了,它不会在选择时更改下拉菜单的文本,但是当在下面的 HTML 中已经存在的静态 html 上执行相同的操作时,它会发生变化是代码。 .
<script>
$(document).ready(function(){
$(".btn-primary").on("click",function(){
var htmltxt='<div class="dropdown"><button class="btn btn-default dropdown-toggle changetext" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">Datatypes <span class="caret"></span></button><ul class="dropdown-menu scrollbar" aria-labelledby="dropdownMenu1"><li><a>Boolean</a></li><li><a>Character</a></li></ul></div>';
$("body").append(htmltxt);
});
});
$(".dropdown").ready(function(){
$(".dropdown-menu li a").on("click",function(){
var caret=' <span class="caret"></span>';
$($(this).closest(".dropdown").find("button")[0]).text($(this).text()).append(caret);
});
});
<body>
<div class="btn btn-primary"> Add DropDrop</div>
<br></br>
<div class="dropdown">
<button class="btn btn-default dropdown-toggle changetext" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">Datatypes <span class="caret"></span></button>
<ul class="dropdown-menu scrollbar" aria-labelledby="dropdownMenu2">
<li><a>Boolean</a></li>
<li><a>Character</a></li>
</ul></div>
</body>
第一个 dropdowm-menu id="dropdownMenu2"
工作正常,但从 jquery(js 变量htmltxt
)附加的第二个菜单id="dropdownMenu2"
将响应 on() 事件。
改变:
$(".dropdown-menu li a").on("click",function(){
到:
$(document).on("click", ".dropdown-menu li a", function(){
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.