如何从选择器中解绑定fanybox
How to unbind fancybox from a selector
我有一个锚链接与一个类,识别它被调用在fanybox。例子:
<a class="group">some code here</a>
Fancybox绑定:
$('.group').fancybox();
如果我想取消绑定fanybox与$('.group')选定的元素,我应该怎么做?我试过removeClass('group')
,但它不起作用。
$('.group').unbind('click.fb')
你可以添加类"nofancybox"到链接中,这个链接将被忽略
如果你想在javascript代码中这样做,你可以选择锚标记对象并删除类。
给元素一个id并调用removeClass方法
<a id="noFancy" class="group">some code here</a>
Java脚本 $(function(){
$("#noFancy").removeClass("group");
});
如果您可以访问HTML标记,为什么不直接将class更改为具有相同CSS值的其他内容呢?然后你不需要执行代码来移除documentready
上的类HTML<a class="groupNormal">I dont want fancybox</a>
CSS .groupNormal
{
// Put the CSS for group class
}
这是对我有效的解决方案,但是它并没有在提问者想要如何做的意义上解除对花哨盒子的绑定。
首先,不要在节点上声明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);
希望对大家有所帮助。
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- 无法通过数组映射绑定
- 主干-不管怎样,检查事件以前是否绑定过
- 用于搜索的聚合物嵌套绑定
- Angular:更新一次性绑定的数据
- 如何使用ngrepeat和双向绑定获得指令的隔离范围
- react.js中的密钥绑定
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 将事件处理程序绑定到任何可能的事件
- AngularJS指令只识别双向绑定类型
- Telerik rad组合框多列数据绑定
- 对API数据使用声明性绑定
- 如何销毁/删除/取消绑定SnapSVG.js
- 在D3.js中,有没有任何方法可以将x和y方向上的滚动事件绑定到平移svg
- 数据绑定:'系统Char'不包含名为'xxxxx'
- react组件中的绑定方法
- 如何将ngrepeat下的ngmodel绑定到$scope
- WinJS内联绑定语法
- ng绑定和ng href问题.ng href未从控制器加载数据
- 如何从选择器中解绑定fanybox