0

当我单击 ul li 内的链接时,我试图显示警报,但不知何故它不起作用。我的 jquery 无法选择我附加它的链接。

我的 HTML

<ul id="typeList"></ul>

我的查询

 $("a.type").on("click", function(){                
            alert("click");
 });

$("<li><a href='#' class='type' type =" +results.rows.item(i).Type + " >"+ results.rows.item(i).Type +"</a></li>").appendTo('ul#typeList');

已创建所需行

<ul>
   <li><a class="type" href='#' type ='People'>People</a></li>
   <li><a class="type" href='#' type ='Places'>Places</a></li>
</ul>
4

3 回答 3

2

修改您的on触发器以捕获内部的点击事件ul

 $("#typeList").on("click", "a.type", function(){                
            alert("click");
 });

这仅将事件处理程序附加到一个元素(您的ul#typeList),但它仅适用a.typeul.

于 2012-08-19T10:45:45.820 回答
0

您不能将事件处理程序附加到尚不存在的元素!

将事件委托给确实存在的元素,例如@des给出的答案,或者在附加处理程序之前附加元素:

$("<li><a href='#' class='type' type =" +results.rows.item(i).Type + " >"+ results.rows.item(i).Type +"</a></li>").appendTo('ul#typeList');

$("a.type").on("click", function(){                
    alert("click");
});
​

小提琴

于 2012-08-19T10:55:04.723 回答
-1

试试这个以获得点击

$(function(){
   $(".type").click(function(){                
                alert("click");
     });
});
于 2012-08-19T10:45:58.487 回答