刚学了jquery,求解释下面的列子

k19890515 2013-02-26 10:21:10
$(function(){
$("a.tooltip").mouseover(function(e){
var tooltip = "<div id='tooltip'>"+ this.title +"<\/div>"; //创建 div 元素
$("body").append(tooltip); //把它追加到文档中
$("#tooltip")
.css({
"top": e.pageY + "px",
"left": e.pageX + "px"
}).show("fast"); //设置x坐标和y坐标,并且显示
}).mouseout(function(){
$("#tooltip").remove(); //移除
});
});
这是锋利的jquery里面的例子,但是不明白function(e)中的e是什么意思,e.pageY是什么意思;还有创建节点为什么不加$啊?$("<div id='tooltip'>"+ this.title +"<\/div>")才对啊
...全文
224 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
k19890515 2013-02-26
  • 打赏
  • 举报
回复
引用 5 楼 bwieov 的回复:
引用 4 楼 bwieov 的回复:引用 3 楼 k19890515 的回复: 参数e是怎么传进来的外部应该还套了一个带e参数的函数吧?如果没有,确实传不进来。。。不好意思,刚说错了,这个e不用传,它是来自于mouseover这个绑定函数的event~
求教大侠,var tooltip = "<div id='tooltip'>"+ this.title +"<\/div>"中id='tooltip'怎么是单引号,html中不是双引号吗?
bwieov 2013-02-26
  • 打赏
  • 举报
回复
那个$是要加的!!!好像被误导了!!!
bwieov 2013-02-26
  • 打赏
  • 举报
回复
引用 6 楼 ftiger 的回复:
这种事情最好先查查API。mouseover的语法是: .mouseover( handler(eventObject) ); eventObject是传入的jq封装过的event对象
嗯~
ftiger 2013-02-26
  • 打赏
  • 举报
回复
这种事情最好先查查API。mouseover的语法是: .mouseover( handler(eventObject) ); eventObject是传入的jq封装过的event对象
bwieov 2013-02-26
  • 打赏
  • 举报
回复
引用 4 楼 bwieov 的回复:
引用 3 楼 k19890515 的回复: 参数e是怎么传进来的外部应该还套了一个带e参数的函数吧?如果没有,确实传不进来。。。
不好意思,刚说错了,这个e不用传,它是来自于mouseover这个绑定函数的event~
bwieov 2013-02-26
  • 打赏
  • 举报
回复
引用 3 楼 k19890515 的回复:
参数e是怎么传进来的
外部应该还套了一个带e参数的函数吧?如果没有,确实传不进来。。。
k19890515 2013-02-26
  • 打赏
  • 举报
回复
参数e是怎么传进来的
001007009 2013-02-26
  • 打赏
  • 举报
回复
楼主先看下 http://www.w3school.com.cn/htmldom/dom_obj_event.asp
append(content)
content
String, Element, jQuery
要追加到目标中的内容
bwieov 2013-02-26
  • 打赏
  • 举报
回复
e是参数,e.pageY是参数的属性,最后一个问题,$是选择器,是页面已经存在了从中进行选择,而你那个var是声明一个新的div,就不需要$了。。。
吉普赛的歌 社区高级成员 T9 2013-02-26
  • 打赏
  • 举报
回复
至于 append 的语法, 可参看: http://www.w3school.com.cn/jquery/manipulation_append.asp 不要老问十万个为什么,没有意义。 人家规定了要这样写你就这样吧。 如果有一天你自己可以定义一个插件库, 你同样也可以规定人家怎么写。
豪情 2013-02-26
  • 打赏
  • 举报
回复
e 是一个特殊的参数,它代表事件的状态以及一些页面交互中鼠标键盘中的信息。 e.pageX,是鼠标相对于浏览器左边缘的位置, $().appendTop(); 时需要加$(); 如果是$().append();就不需要$()。 $()其实代表的是jquery对象,而不是简单的说加个$()。 jquery对象与普通的dom对象是有区别的, 终究以上,我认为有空你还是得看看javascript高级程序设计第三版。 这里边提到的事件,或对象,以及如何取得鼠标在浏览中的位置,通过此书都能找到答案。
吉普赛的歌 社区高级成员 T9 2013-02-26
  • 打赏
  • 举报
回复
引用 9 楼 k19890515 的回复:
引用 5 楼 bwieov 的回复:引用 4 楼 bwieov 的回复:引用 3 楼 k19890515 的回复: 参数e是怎么传进来的外部应该还套了一个带e参数的函数吧?如果没有,确实传不进来。。。不好意思,刚说错了,这个e不用传,它是来自于mouseover这个绑定函数的event~ 求教大侠,var tooltip = "<div id='tooltip'>……
js中, 单双引号是可以互换的。 在这个表达式里, 如果全部用双引号, 则会造成字符串中断。 如果用\"转义又比较麻烦, 所以用单引号就非常合适了。

87,991

社区成员

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

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