我有一个带有类的锚链接,用于标识要在fancybox上调用的类。 例如:
<a class="group">some code here</a>
Fancybox绑定:
$('.group').fancybox();
如果我想用$('。group')选择的元素取消绑定fancybox,我应该怎么做?
我试过了removeClass('group')
,但它没有用。
答案 0 :(得分:5)
$('.group').unbind('click.fb')
答案 1 :(得分:1)
您可以将链接“nofancybox”添加到链接中,此链接将被忽略
答案 2 :(得分:0)
如果您想在javascript代码中执行此操作,您可以选择锚标记对象并删除该类。
为元素指定id并调用removeClass方法
<a id="noFancy" class="group">some code here</a>
Java脚本
$(function(){
$("#noFancy").removeClass("group");
});
如果您有权访问HTML标记,为什么不将类更改为其他类似但具有相同CSS值的类。那么你不需要执行代码来删除documentready上的类
HTML
<a class="groupNormal">I dont want fancybox</a>
CSS
.groupNormal
{
// Put the CSS for group class
}
答案 3 :(得分:0)
这个解决方案对我有用,但是从提问者的意愿来看,它并没有解开fancybox。
首先,不要在节点上声明fancybox,而是将节点绑定到click
事件:
$(".classOfMiniImage").on("click", window.onImageMiniClicked);
在处理程序中,您可以使用代码检查是否需要显示fancybox的条件,然后使用明确的href
引用显示它:
window.onImageMiniClicked = function () {
if (<your_condition>) {
$.fancybox({
'href': <link_to_full_size_image>,
/* other options below */
'transitionIn': 'elastic',
'transitionOut': 'elastic',
'speedIn': 600,
'speedOut': 600,
'overlayShow': true
});
}
}
此外,如果您不再需要这些项目上的fancybox,您可以使用另一种方法并手动取消绑定此处理程序:
$(".classOfMiniImage").off("click", window.onImageMiniClicked);
希望它会对某人有所帮助。