首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何编辑未压缩的jQuery库以在函数中满足自己的需求?

问如何编辑未压缩的jQuery库以在函数中满足自己的需求?
EN

Stack Overflow用户
提问于 2016-10-04 12:45:35
回答 2查看 41关注 0票数 1

我有一个任务,在这个任务中我必须在一个函数中包含一个特定的需求。与我们使用的常规jQuery相比,CDN代码看起来有点难以理解。

问题是,当我关注像input框这样的东西时,它不应该只关注它,还应该返回它的top和left位置。这个功能应该包含在CDN文件中。然后使用一个常规程序,我必须叫它。

代码语言:javascript
复制
$(document).ready(function(){
    $("input").focus(function(){
        $("input").css("background", "lightblue");
        var p = $( "input" );
        var position = p.offset();
        $("div").text( "left: " + position.left + ", top: " + position.top );       
    });
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-04 12:49:05

第一,永远不要修改图书馆的来源。如果您这样做,它会将您与特定版本的代码联系在一起。如果作者更新了库,他们就会中断您所做的添加。如果要创建其他功能,请创建自己的扩展方法或原型。

也就是说,要做您需要做的事情,只需修改代码,只引用引发事件的元素。为此,请在处理程序函数中使用this关键字。试试这个:

​

代码语言:javascript
复制
$("input").focus(function() {
  var $input = $(this).css("background", "lightblue");
  var position = $input.offset();
  console.log("left: " + position.left + ", top: " + position.top);
});
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input />
<input />

​

票数 1
EN

Stack Overflow用户

发布于 2016-10-04 12:50:09

根据我的经验,你想做的事情是不被推荐的。除非库没有维护,否则您可以从它的github获得一个分支,然后添加您的更改,以便您能够维护它。

在这种情况下,jQuery是一个高度维护的项目,编辑它的源代码以添加您自己的代码将是灾难性的。相反,使用提供的插件体系结构向现有代码添加更多功能。

请阅读正式文档以获得此特性的概述。

如何创建一个基本的jQuery插件。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39852723

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档