javascript - 多个按钮的一个 .click 事件处理程序

标签 javascript jquery

我正在我的 jQuery 移动网站中动态创建一些按钮。我这样创建它们:

$('#Gallery' + i + ' .gallery').after('<button type="button" class="loadMorePhotos">More Photos...</button>');

然后我创建一个简单的 .click 事件处理程序,如下所示:

$(".loadMorePhotos").click(function(){
            alert("ok malaka!");
});

我非常谨慎,NOT 使用 id 属性来识别按钮,因为我有多个按钮,这会把事情搞砸.相反,我使用据我所知应该有效的 class 属性。

但是永远不会执行警报。我在这里做错了什么?

最佳答案

事件委托(delegate):

$(document).on("click", ".loadMorePhotos", function(){
        alert("ok malaka!");
});

因为您的元素是动态创建的,所以您必须将点击处理程序绑定(bind)到 DOM 就绪时已经存在的元素(在本例中为 document)

关于javascript - 多个按钮的一个 .click 事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17451660/

相关文章:

javascript - 如何在 Javascript 中将值附加到数组中并保持旧值不变?

javascript - 字符串中的短语搜索,制作正确的正则表达式

javascript - 获取上面所选选项的值

jquery - 重定向页面并检测它是否已加载

Jquery 动画 DIV

javascript - 如何将 mochas done 回调函数传递给另一个辅助函数

javascript - JavaScript 计算结果不正确

jquery - 如何修复快速单击时挂起的 jQuery 链接

jquery - Bootstrap 网格/列响应问题

javascript - jQuery 'scroll' 未触发