Dotnetnuke 如何避免dnn中的jquery冲突

Dotnetnuke 如何避免dnn中的jquery冲突,dotnetnuke,Dotnetnuke,我正在开发dnn模块。随着同一页面上模块数量的增加,Jquery会多次调用 (function ($) { $('#grid').hoverfold(); })(jQuery); 这就是我用来避免冲突的方法。如果我在下一个效果中使用相同的效果,它将不起作用 var $j = jQuery.noConflict(); $j(document).ready(function(){ ...code goes here... }); 试试这个,例如,如果

我正在开发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回发。这将确保即使模块启用了ajax,代码也能正常工作

 $(document).ready(function () {
        setUpDnnHostSettings();
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(function () {
            setUpDnnHostSettings();
        });
    });

您还可以查看管理文件夹中core中的其他ascx控件。我希望这会有所帮助。

如果调用
jQuery.noConflict()
,将从页面中删除
jQuery
变量,这将破坏试图使用jQuery的所有其他功能。