首页 新闻 搜索 专区 学院

关于div改变class之后的点击触发事件。

0
[已解决问题] 解决于 2017-05-05 15:35

就是我现在遇到了一个这样的问题。

我用js先改变了原div的class,原本是123,我改成功了321,我在调试当中是有看到class有改变掉的<div class="321"></div>,然后当我点击事件时发现他触发的还是原class事件$(".123").click(function () {});  事件,而不是新的$(".321").click(function () {});事件,怎么破?

你猜丶的主页 你猜丶 | 菜鸟二级 | 园豆:254
提问于:2017-05-04 17:19
< >
分享
最佳答案
0

1.样式变了.但是dom对象还是同一个.你之前绑上去什么就是什么

2.可以改完样式后.不要重新获取dom对象.直接在原dom对象上修改事件

3.不该这么做.肯定有别的方法能实现这种需求.

奖励园豆:5
吴瑞祥 | 高人七级 |园豆:28841 | 2017-05-04 17:57

那能在改变class的时候让他清除dom对象吗?

你猜丶 | 园豆:254 (菜鸟二级) | 2017-05-04 18:12

@你猜丶: 不能.你可以清空他来.再弄进去个新的.

ps:以你的思路第2条应该是你最好的选择

吴瑞祥 | 园豆:28841 (高人七级) | 2017-05-04 18:17

@吴瑞祥: 第二条的话,原本$(".123").click(function () {}); 就是有个事件,他是第一次点击时处理一些东西,然后改变他的class,当他的class不同时,再点点击时要操作的内容是不一样的,所以第二个可以实现这种吗?这感觉会冲突的啊,没法判断他是要处理的是123的,还是321的

你猜丶 | 园豆:254 (菜鸟二级) | 2017-05-05 10:08

@你猜丶: 在同一个事件里判断当前div的样式.走分支.

吴瑞祥 | 园豆:28841 (高人七级) | 2017-05-05 10:23

@吴瑞祥: 可以,非常好

你猜丶 | 园豆:254 (菜鸟二级) | 2017-05-05 15:35
其他回答(3)
0

绑定事件的方式贴一下代码

狼爷 | 园豆:1197 (小虾三级) | 2017-05-05 09:25
0

讲真  你知道css 命名规范么?

魏洁 | 园豆:202 (菜鸟二级) | 2017-05-05 14:20
0

class改完对此元素解绑,再绑新事件

名字不好起啊 | 园豆:397 (菜鸟二级) | 2017-05-05 14:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册