[英]javascript click event on dropdown menu
一個應用程序,我有四個dropdwon -menu,其中的一個是通過選擇一個較早的位置填充的...這是自動填充的...不響應click事件
我通過創建一個動態UL LI Itens的答案進行搜索,發現了這一點:
function getModelos(response)
{
var obj = JSON.parse(response);
try
{
var ul = document.getElementById("modelo");
var modelos = obj.modelos;
var x = document.getElementById("modelo");
while(x.length > 0)
{
x.remove(0);
}
for(i=0;i<modelos.length;i++)
{
var li = document.createElement("li");
var a = document.createElement("a");
a.appendChild(document.createTextNode(modelos[i].modelo));
a.setAttribute("href","#");
a.setAttribute("data-value",modelos[i].id+",.modelo");
li.appendChild(a);
ul.appendChild(li);
}
}
catch(err)
{
alert("ERRO: "+err);
}
}
我也發現了一個委托的點擊事件:
$(".dropdown-menu li a").click(function()
{
var selText = $(this).text();
$(this).parents('.dropdown').find('.dropdown-toggle').html(selText+' <span class="caret"></span>');
var valor = $(this).data('value');
var options = valor.split(",");
$(this).parents(".dropdown").find(options[1]).val(options[0]);
if(options[1] == ".marca")
{
pedeModelos(selText);
}
});
所有dropdowm-menus先前定義的單擊LI的響應,但是創建的下拉菜單不會
我是javascript / Bootstrap / JQuery的新手,我需要一種方法來遵循,我將為您提供任何幫助。 謝謝
問題是您如何委派click事件。 如果您的代表團不在創建動態元素的事件之外,那將是行不通的。 您對click事件的引用應在生成動態html的同一函數中進行。
例如 :
<input type="button" id="btn" value="GenerateHTML"/><br/>
<div>
</div>
$("#btn").click(function()
{
$("div").append("<ul class='dropdown-menu'><li><a href='#'>1</a></li><a href='#'>2</a></ul>");
$(".dropdown-menu").find("li a").click(function()
{
alert();
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.