在.bind()和.on()之间动态切换
Switch between .bind() and .on() - dynamically
我想这么做,因为我正在使用与互联网营销相关的第三方脚本。其中一些可能包含jQuery库,它会干扰我网站上最近或最新的jQuery库。
因此,我想在变量的帮助下,在网站加载时动态地在.on()和.bind()之间切换。
例如,假设我有全局变量:
var incJS = false;
现在取决于第三方脚本,我知道他们是否包含旧的Lib,所以我会使用它。
function tpNetwork ()
{
incJS = true;
startGateway('XXXXX');
$('#fancybox-outer')
.delay(1000)
.fadeTo(300, 1);
preventGTW();
widgetStyle();
}
现在,正如你所看到的,在widgetStyle()
的最底部有一个函数
这个函数包含很多东西,但重要的部分如下:
$(window).on('resize', function () {
if ($('.widget_wrap').length) widgetCenter_horizontal();
});
它有.on()方法。这在第三方网络使用的非常旧的jQuery中是不支持的。我想用.bind()切换每一个.on(),但我不知道如何切换,以免重复。我是这样做的,但它是重复的,我相信有更简单的方法。
if (!incJS)
{
$(window).on('resize', function () {
if ($('.widget_wrap').length) widgetCenter_horizontal();
});
}
else
{
$(window).bind('resize', function () {
if ($('.widget_wrap').length) widgetCenter_horizontal();
});
}
任何形式的提示/帮助都将不胜感激。我真的没有任何想法,通过研究我一无所获。
关于:
$(function(){
if(!$.fn.on) $.fn.on = $.fn.bind;
});
当然,这不包括任何代表团的支持。
演示
感谢@smerny的评论和@shocked的回答,我把它做成了这样,它解决了我的问题。感谢您提供的所有提示和答案!
$.fn.onbind = function () {
if (!ajaxGateway)
$.fn.onbind = $.fn.on;
else
$.fn.onbind = $.fn.bind;
};
现在一切都如我所愿。下面是一个例子。
$(window).onbind('resize', function () {
if ($('.widget_wrap').length) widgetTop();
});
相关文章:
- 在 JSP 之间共享动态客户端和服务器端内容
- 从动态生成的列表在PHP网页之间传递数据
- 在强制布局 D3.js 中保持节点之间的动态链接距离
- Knockoutjs - 动态模板切换之间的转换
- $interval的时间参数是否可以在间隔之间动态更改
- 如何在 AngularJS 中动态更改控制器之间的数据
- 在 Rails 中的select_tag和text_field_tag之间动态切换
- 在动态文本字段之间跳转
- D3.js对象之间的动态连接器
- Sencha Touch 2:数据初始化或如何在Sencha和javascript之间共享动态信息
- 在.bind()和.on()之间动态切换
- 如何使文本在JQueryUI可排序项之间动态显示
- 将2个网站存储在1个文件中,并在它们之间动态更改
- 动态删除html文件的脚本标记之间的所有内容
- 动态卸载和重新加载js/css文件时在extjs版本之间切换的问题
- 如何在HTML和动态选择之间共享信息?-AngularJS
- 拖放动态生成的两个表之间的所有单元格
- CSS -如何在两个元素之间匹配class(一个动态的和一个静态的)
- 计算动态输入字段数之间的百分比
- 在页面之间导航时,在JQM中刷新动态列表视图