我正在开发dnn模块。随着模块数量在同一页面上增加,jquery会多次调用。如何避免dnn中的jquery冲突
(function ($) {
$('#grid').hoverfold();
})(jQuery);
这是我用来避免冲突。如果我使用相同的下一个效果,它不起作用。
我正在开发dnn模块。随着模块数量在同一页面上增加,jquery会多次调用。如何避免dnn中的jquery冲突
(function ($) {
$('#grid').hoverfold();
})(jQuery);
这是我用来避免冲突。如果我使用相同的下一个效果,它不起作用。
var $j = jQuery.noConflict();
$j(document).ready(function(){
...code goes here...
});
试试这个,
例如,如果你看看/DesktopModules/Admin/HostSettings/HostSettings.ascx
,你会发现DNN的核心开发人员正在使用下面的代码:
(function ($, Sys) {
$(document).ready(function() {
//Your code goes here.
});
}(jQuery, window.Sys));
从这个
除此之外,如果你注意到$(document).ready
函数,它们重复相同的代码来处理由于更新窗格而导致的ajax post backs。这将确保你的代码能够正常工作,即使模块启用了Ajax。
$(document).ready(function() {
setUpDnnHostSettings();
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function() {
setUpDnnHostSettings();
});
});
您还可以查看管理文件夹中核心中的其他ascx控件。我希望这将有所帮助。
如果您调用'jQuery.noConflict()',那将从页面中删除'jQuery'变量,这将打破尝试使用jQuery的所有其他功能。 – bdukes 2014-01-22 15:48:09