Dotnetnuke 如何避免dnn中的jquery冲突
我正在开发dnn模块。随着同一页面上模块数量的增加,Jquery会多次调用Dotnetnuke 如何避免dnn中的jquery冲突,dotnetnuke,Dotnetnuke,我正在开发dnn模块。随着同一页面上模块数量的增加,Jquery会多次调用 (function ($) { $('#grid').hoverfold(); })(jQuery); 这就是我用来避免冲突的方法。如果我在下一个效果中使用相同的效果,它将不起作用 var $j = jQuery.noConflict(); $j(document).ready(function(){ ...code goes here... }); 试试这个,例如,如果
(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回发。这将确保即使模块启用了ajax,代码也能正常工作
$(document).ready(function () {
setUpDnnHostSettings();
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () {
setUpDnnHostSettings();
});
});
您还可以查看管理文件夹中core中的其他ascx控件。我希望这会有所帮助。如果调用jQuery.noConflict()
,将从页面中删除jQuery
变量,这将破坏试图使用jQuery的所有其他功能。