我对javascript很新,但已承担了一项任务,以便更好地使用它。但是,我遇到了jQuery的一些问题。以下javascript是第三方jQuery插件中的代码,我希望能够覆盖funFunction()函数来执行我自己的实现。这是可能的,如果是的话,我该怎么做?我一直在做相当多的搜索,并尝试了一些使用以下方法覆盖函数的方法:
jQuery.blah.funFunction = function() { alert("like this"); };
主要代码:
(function($) {
$.extend( {
blah: new function() {
this.construct = = function(settings) {
//Construct... stuff
};
function funFunction() {
//Function I want to override
}
}
});
})(jQuery);
对于那些对此感兴趣的人,我试图覆盖tablesorter,以便用户对列进行排序的唯一方法是按升序排列。
编辑:
有一个wordpress安装使用WP-Table-Reloaded,后者又使用这个插件。我不想更改这个插件的核心代码,因为如果有更新,我就必须确保我的前任确切知道我做了什么。
我已经编程了很长时间,觉得我应该能够轻松地获取javascript,同时还要查看jQuery。我确切地知道我需要做什么,而不是我如何覆盖这个功能。
答案 0 :(得分:2)
关于jQuery的好处是,如果插件不能完全按照你的意愿行事,你可以
我的经验是,大多数插件都非常好,但它们不是由神灵编写的,所以有时会出现问题,或者有时候你需要的只是设计师所期望的那样。
现在:你真的应该认真考虑一下你想做什么以及你的需求是什么,作为一个新手,对你做“正确的做事方式”有什么样的假设'带来参加聚会。每个编程环境都有自己的个性,通常几乎是一个文化实体。事情可能看起来很奇怪,或者很糟糕,或者丑陋,但作为一个局外人,你应该暂停判断,直到你真正习惯了所有的习语。
答案 1 :(得分:0)
谁还关心小型图书馆的更新?只要使用的版本执行所需的操作并且没有适用的错误,升级就没有收获。
在任何情况下,我绝不会建议将可访问的父函数检索为如下字符串:functionAsString=""+functionName
编辑需要编辑的内容,然后重新生成函数:functionName=eval("("+functionAsString+")")
。但是有可能这样做。
当您将函数转换为字符串时,不同的浏览器会返回略有不同的结果,但它们都是针对该确切函数的有效声明,因此您应该能够正确地解决这些差异。
或者,您可以使用ajax调用检索脚本文件,然后执行与上面相同的操作。我仍然不会推荐它。