首页 > 解决方案 > 将调整大小事件绑定到元素

问题描述

我找到了这个脚本

在第 23/24 行是这个代码:

$(window).off('resize.flexImages'+grid.data('flex-t'));
$(window).on('resize.flexImages'+t, function(){ makeGrid(grid, items, o); });

究竟resize.flexImages是做什么的?

标签: javascriptjquery

解决方案


'resize.flexImages'只是一个字符串,表示 DOM 中的事件类型- 在该脚本中使用它来开始绑定到事件处理函数的事件的名称,在这种情况下function(){ makeGrid(grid, items, o); }是在on()函数调用期间。

.off()函数调用没有指定处理函数,因为它可能在调用期间已经绑定/附加到该事件-on()这再次被指定为字符串。只是删除处理程序off()

如果您在此处阅读文档:https ://api.jquery.com/on/ ,您将看到 jQuery 建议使用此约定来命名事件,因此它不会干扰其他事件,在此示例中,可能是其他resize事件

事件名称可由事件命名空间限定,以简化移除或触发事件。例如,“click.myPlugin.simple”为这个特定的点击事件定义了 myPlugin 和 simple 命名空间。通过该字符串附加的单击事件处理程序可以使用 .off("click.myPlugin") 或 .off("click.simple") 删除,而不会干扰附加到元素的其他单击处理程序。命名空间类似于 CSS 类,因为它们不是分层的;只有一个名字需要匹配。命名空间应仅包含大写/小写字母和数字。

...来自 jQuery 文档


推荐阅读