在我的wordpress脚本中,我使用条件语句只在某些页面上排队masonry脚本。我还有一个全局javascript部分,可以加载包含脚本以激活砌体功能的所有页面:
$container.masonry({
itemSelector: '.img-container',
gutter: ".gutter-sizer"
});
当主要砌体脚本加载到页面上时,这可以正常工作,但如果未加载,则会引发undefined is not a function
错误。在执行上述代码之前,如何检查是否加载了砌体?我认为这将以相同的方式应用于大多数jQuery插件和其他js脚本。
答案 0 :(得分:2)
if ($.fn.masonry) {
//...
}
但是我真的不喜欢这种条件。您还应确保仅在真正需要时才加载使用该库的脚本。
答案 1 :(得分:0)
Masonry defines a global所以你可以这样做:
if (window.Masonry) {
// Masonry has been loaded
}