我想这样做,因为我正在使用与网络营销相关的第三方脚本。其中一些可能包含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();
});
}
任何提示/帮助表示赞赏。我真的没有任何想法,通过研究我什么都没发现。
答案 0 :(得分:3)
答案 1 :(得分:0)
非常感谢@smerny的评论和@roasted的回答我已经做到了这样,它解决了我的问题。感谢您提供所有提示和解答!
$.fn.onbind = function () {
if (!ajaxGateway)
$.fn.onbind = $.fn.on;
else
$.fn.onbind = $.fn.bind;
};
现在一切都按照我的意愿行事。这是一个例子。
$(window).onbind('resize', function () {
if ($('.widget_wrap').length) widgetTop();
});