我是使用append()方法连接到html页面的超级链接,它是一个超链接列表,我通过this.id获得了所有其他元素id,但是不能处理附加行,为什么会发生这种情况?还有其他方式可以追加吗??
提前感谢
发布于 2014-08-23 07:36:40
在您的代码中,听起来您有以下内容:
$("selector for links").on("click", function() {
    // Using this.id here
    return false; // Since they're links I assume you do this or e.preventDefault();
});在代码运行之后,添加另一个链接,但是单击它不会触发上面的处理程序。这是因为上面的代码将事件挂在运行时存在的元素上;因为您添加的链接不存在,所以它的click事件没有上钩。
可以使用事件委托来解决此问题,方法是将上面的代码更改为:
$("selector for container").on("click", "selector for links", function() {
    // Using this.id here
    return false;
});这个钩子点击一个包含链接的容器,但是触发处理程序,就好像事件已经挂在单个链接上一样。因此,由于事件是挂在容器上的,所以即使在添加新链接时也会得到该事件。
具体例子:
$(document).on("click", "a", function() {
    alert(this.id);
    return false;
});https://stackoverflow.com/questions/25459547
复制相似问题