jQuery()的问题疑惑

wonder_zs 2013-02-28 10:31:27
求大虾解惑,在学习一个jQuery插件时发现如下语句

slider.mousedown(function (e) {
var d = { left: parseInt(slider.css("left")), pageX: e.pageX };
$().mousemove(d, function(){
//...........
}).mouseup(d, function(){
//...........
});
});

为什么使用了$(),按照jQuery在w3cSchool帮助$()返回了空引用,1.4之后则是返回了document,于是我将$()改为$(document)或者$("*")均可正常使用。我想当然以为是为document所有元素加上了。
于是我做实验如下:

$(document).ready(function () {
$().click(function () {
alert("asdf");
})
});

按理说点击任何document元素就可以弹出来,可是结果是失败的,改为$(document)或者$("*")就可以。
那么到底上面插件中的$()引用的是谁呢?
...全文
207 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ifwang111 2013-03-01
  • 打赏
  • 举报
回复
这个功能应该是拖拽功能吧,一把都得加到document中吧,不然,一拖动出控件范围外,代码不就失效了。
wonder_zs 2013-02-28
  • 打赏
  • 举报
回复
引用 3 楼 showbo 的回复:
照jQuery在w3cSchool帮助$()返回了空引用,1.4之后则是返回了document, 楼主看反了吧。。。 1.4之后是空,之前才是document XML/HTML code?1234<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.3.2.js"></script><sc……
的确看反了thanks,那为什么要给document所有元素都加上呢,虽然在slider.mousedown内,但是这样是不是很大呢?
wonder_zs 2013-02-28
  • 打赏
  • 举报
回复
引用 2 楼 bbjbepzz 的回复:
if ( !selector ) { return this; } $()应该和$(this)是一样的
$()和$(this)肯定不一样,一开始我的理解就是this,可是我在插件内将$()改为$(this)后,插件就不能正常工作的。$()改为$(document)和$("*")就可以正常工作
  • 打赏
  • 举报
回复
照jQuery在w3cSchool帮助$()返回了空引用,1.4之后则是返回了document, 楼主看反了吧。。。 1.4之后是空,之前才是document
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.3.2.js"></script>
<script>
alert($().get(0))//DOCUMNET
</script>
<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.js"></script>
<script>
    alert($().get(0))//undefined
</script>
「已注销」 2013-02-28
  • 打赏
  • 举报
回复
if ( !selector ) { return this; } $()应该和$(this)是一样的
wonder_zs 2013-02-28
  • 打赏
  • 举报
回复
自己顶下。。。有人回答吗

87,991

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧