以前的答案都不适用于我从特定元素中删除 Lightbox,因此我发布了另一个解决方案,可以帮助当前遇到类似问题的人。
我的 Lightbox2 版本调用一个initList
函数,该函数绑定click
函数并基于 DOM 中已“标记”哪些元素以供 Lightbox 调用,然后调用该start
函数。如果您想为特定屏幕尺寸的特定元素禁用 Lightbox,那么取消绑定 click 事件可能会起作用。
解除绑定时要小心,因为可能有其他脚本具有附加到元素的点击行为!如果您将处理程序存储在变量中,您可以稍后引用这样的行为unbind('click', handler)
。不幸的是,我的 Lightbox2 版本没有以这种方式设置,据我所知,Github 上的 2.8.2版本没有取消绑定功能,也没有全局引用处理程序变量。因此,在这种情况下,当您需要保留其他附加的点击事件时,您必须调整代码库。
无论如何,代码将类似于:
$(document).ready(function() {
if (screen.width < 1024) {
$('#some-id').unbind('click');
}
});
您甚至不必删除元素中的rel
属性:a
<a href="./linkedcontenturl.ext" id="some-id" rel="lightframe" target="_blank">click here!</a>
根据您链接到的内容(例如 PDF),添加也可能是一个好主意target="_blank"
,但重要的是首先在目标设备集上测试体验,不同的设备可能会显示不同的行为。