jquery 循环绑定事件问题

2016-11-17 17:05:28 +08:00
 yantianqi
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>title</title>
<script src="jquery.js"></script>
</head>
<body>
<ul>
<li>1</li>
<li>2</li>
</ul>
</body>
<script>
var lis = $("li");
for(var i=0; i<lis.length; i++){
lis[i].mouseover(function() {//lis[i]绑定事件不可以?那应该怎么样给每个 li 绑定时间
//
})
}
</script>
</html>
3054 次点击
所在节点    jQuery
13 条回复
murmur
2016-11-17 17:07:05 +08:00
妈呀这个代码。。
算了建议你再看一天的书再去写代码
源生的 addEventListener
降级的直接指定 onmouseover
jquery 的$(xxxx).on 或者$(xxx).mouseover
你这个是什么呢。。
tobeyouth
2016-11-17 17:08:54 +08:00
直接 $(li).on(xxx) 不就行了么
murmur
2016-11-17 17:09:02 +08:00
这排版真影响阅读
如果没看错,注释那行改成$(lis[i]).mouseover 就对了

虽然 lis 是 jquery object ,但是里面的每一个元素是源生的对象,要 jq 选一下
这种情况下,直接写$("li").mouseover 不是更好么

我只是就代码而已,不代表你这是最佳的编码习惯,注意
jarlyyn
2016-11-17 17:16:47 +08:00
1. $('li').mouseover(xxx)
2.$('body').on('mouserover,'li'',xxx)
yantianqi
2016-11-17 17:29:13 +08:00
@murmur 大神,请问怎么排版?要用 markdown 语法是吗?
hareandlion
2016-11-17 17:31:28 +08:00
只是用 foreach 不用 for 循环的问题吧
yantianqi
2016-11-17 17:32:19 +08:00
原来 jq 处理这个这么简单
JohnLou
2016-11-17 17:33:27 +08:00
jquery 不等于 js , jquery 不等于 js ,请买一本《 dom 编程艺术看看》有助于你理解。
bombless
2016-11-17 17:35:12 +08:00
v 站不支持 markdown 啊……
我所知道的就是可以放 gist.github.com ,其他的话貌似 v 站是会吞行首的空格的……
可以试试用其他空白,哈哈
jarlyyn
2016-11-17 17:40:55 +08:00
另外就楼主本身的代码来说,楼主需要知道

jQuery(xxx).eq(1)和 jQuery(xxx)[1]的区别

后者返回的是 Dom
xilixjd
2016-11-17 17:48:36 +08:00
lis.on('monseover', 'li', function() {

});
novaline
2016-11-17 21:25:52 +08:00
事件代理
4641585
2016-11-17 22:01:40 +08:00
@bombless
虽然 V 站的 Markdown 不能渲染语法高亮,但也足够把代码表现得很好了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/321233

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX