2017-08-09 136 views
0

我正在制作一个使用giphy api和jQuery的gif搜索引擎。每次搜索主题时,jQuery都会为输入的主题创建一个主题按钮,并在按下按钮时加载到相应的gif中。当从主题按钮加载GIF时。 IM困惑,为什么这个工程:jQuery().on语法

$(document).on("click", ".topic", displayGifs); 

但这并不:

$(".topic").on('click', function(event) { 
    displayGifs(); 
}) 

关于这个主题的帮助,将不胜感激

+0

在jQuery * Google *中查看*事件委托。 SO中也有很多答案 – sabithpocker

回答

4

第一个样品代表的事件到document对象。由于这是一个静态元素,任何添加到与代理选择器匹配的DOM的新元素(在本例中为.topic),事件绑定仍将触发。

你的第二个例子只绑定到绑定时存在于DOM中的元素。

查看更多about event delegation in jQuery