我正在寻找一个包含所有jQuery函数的文档,以及它们在API本身由浏览器提供的等价物.
有时我只需要一个特定的jQuery函数(.detach(),.insertAfter(),.on(),...)我加载jQuery的只有这一点.
我想停止我的jQuery依赖,并且jQuery到非库翻译器会帮助我很多(我认为很多人).
网络上有什么类似的东西吗?
我找到了:http://youmightnotneedjquery.com/
在获取jQuery对象$(SELECTOR)之后,只调用那些jQuery函数.如果你说你不需要jQuery选择器代码而只是想要(或许)一个HTML DOM元素的函数,你必须从jQuery源代码中删除它(http://code.jquery.com/jquery- latest.js),具有依赖性,只有大小和复杂性,这可能是一个痛苦的过程.
JS等价物:
.detach - .removeChild
var par = elm.parentNode;
par.removeChild(elm);
Run Code Online (Sandbox Code Playgroud)
.insertAfter - .insertBefore 如何在不使用库的情况下在JavaScript中插入After()?
function insertAfter(referenceNode, newNode) {
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
}
Run Code Online (Sandbox Code Playgroud)
.on - addEventListener/attachEvent
if(elm.addEventListener)
elm.addEventListener(EVENT_NAME, function() {}, false);
else
elm.attachEvent('on' + EVENT_NAME, function() {});
Run Code Online (Sandbox Code Playgroud)
现在,如果要绑定事件,以便处理程序具有对特定对象的THIS引用...
function bind( scope, fn ) {
return function () {
fn.apply( scope, arguments );
};
}
if(elm.addEventListener)
elm.addEventListener(EVENT_NAME, bind(SCOPE_OBJECT, function(){}), false);
else
elm.attachEvent('on' + EVENT_NAME, bind(SCOPE_OBJECT, function(){}));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5707 次 |
| 最近记录: |