修改jQuery插件以使用特定的jQuery实例?

时间:2016-03-28 19:01:12

标签: javascript jquery tablesorter

我遇到了使用tablesorter jQuery插件来使用jQuery的noConflict实例的问题,因为强制模板在页面的最底部加载了不同的jquery实例。根据我的阅读,我需要下载tablesorter js插件的本地副本并对其进行修改,以便它将使用jQuery的特定noConflict实例。我已经尝试了几次,但无法弄清楚需要对tablesorter插件进行哪些修改才能使其工作。任何有关如何执行此操作的建议或文档都将非常感激。

工作代码:

<script src="static/jquery.min.js" type="text/javascript"></script>
<script src="static/jquery.tablesorter.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {      
    $("#testTable").tablesorter({
        sortInitialOrder: "desc",
    });
}); 
</script>

非工作代码:

<script src="static/jquery-1.12.2.min.js"></script>
<script type="text/javascript">
jQuery_1_12_2 = $.noConflict(true);
</script>
<script src="static/jquery.tablesorter.min.modified.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery_1_12_2(document).ready(function() {      
    jQuery_1_12_2("#testTable").tablesorter({
        sortInitialOrder: "desc",
    });
});
</script>

我已经尝试更改tablesorter插件的第一行和最后一行以及两者的组合但没有成功:

Tablesorter修改

(function(jQuery_1_12_2){$.extend({tablesorter:new
...
(jQuery_1_12_2);

1 个答案:

答案 0 :(得分:2)

在这种情况下,脚本的顺序非常重要。在将插件添加到jQuery之后才能使用noConflict()函数。试试这个:

<script src="static/jquery-1.12.2.min.js"></script>
<script src="static/jquery.tablesorter.min.modified.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery_1_12_2 = $.noConflict(true);

jQuery_1_12_2(document).ready(function() {      
    jQuery_1_12_2("#testTable").tablesorter({
        sortInitialOrder: "desc"
    });
});
</script>