Open cssmagic opened 9 years ago
is$Element的使用场景是?
可以加上$root和$head。
但是有个问题这些东西为什么不是直接变成 $.body,$.head,$.win 上,这样似乎更好用点。
is$Element的使用场景是?
内部会用到。但业务场景一时想不起来了。
可以加上$root和$head。
$root
貌似就是 $doc
?
$head
在业务中不常用,所以没有加。
但是有个问题这些东西为什么不是直接变成 $.body,$.head,$.win 上,这样似乎更好用点。
只是想统一挂载到 _
这个命名空间上,然后所有接口的形式保持一致(_.{module}.{api}
)。
$root是$(document.documentElement) $head偶尔会用,插个样式表、脚本什么的
我想既然是$xxx,前提是有zepto/jquery,那么放在$的命名空间上更合理些吧。这样也不需要_
的存在。但也许不好属于这个repo了。
$root是$(document.documentElement)
那跟现在的 _.dom.$doc
是一样的。
$head偶尔会用,插个样式表、脚本什么的
如果做业务开发的同学有这方面需求,会考虑提供一个高层次的接口来做这个,尽量不让业务层自己做这些事。(BTW,插脚本可以用 Zepto/jQuery 的 $.getScript()
。)
我想既然是$xxx,前提是有zepto/jquery,那么放在$的命名空间上更合理些吧。这样也不需要
_
的存在。但也许不好属于这个repo了。
目前这样的命名(_.dom.$xxx
)单纯是为了接口的一致性考虑。
我以为$doc
是$(document)
...
我错了……
我会改成这样:
$doc = $(document)
$root = $(document.documentElement)
API 文档 -
dom
模块JavaScript 变量
为减少业务层对常用 DOM 元素的重复获取和包装,
dom
模块预先缓存了这些元素的 Zepto 包装对象。在业务层可以直接使用。_.dom.$win
window
对象的 Zepto 包装对象。示例
监听
resize
事件:_.dom.$doc
document.documentElement
对象(即<html>
元素)的 Zepto 包装对象。_.dom.$body
document.body
对象(即<body>
元素)的 Zepto 包装对象。注意事项
为确保对
document.body
对象的正确获取,加载 Underscore.ext 的脚本标签须放置在页面的<body>
标签内。当然,根据前端性能的最佳实践,所有外链脚本也确实应该放置在页面的最底部:JavaScript 接口
_.dom.is$Element(obj)
判断是否为 Zepto 包装对象(或 Zepto 集合)。
如果外部环境没有加载 Zepto 但有 jQuery,则理论上此方法也可以判断 jQuery 包装对象(或 jQuery 集合)。
参数
obj
-- 任意类型。需要判断的对象。返回值
布尔值。判断结果。
示例