在 jQuery 中添加类在新类上运行函数
我正在尝试将 Class 添加到 href,然后在该新类上运行一个函数。
问题是一旦添加了类,我就无法让任何 js 对其进行处理。
这是一个小提琴:
I'm attempting to addClass to an href, and then later run a function on that new class.
The problem is once the class is added, I can not get any js to work on it.
Here's a fiddle:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
您有几个错误:
这可行:
您需要防止默认事件行为,并添加面向未来的事件观察者,例如
live()
或delegate()
因为您在设置绑定后将类添加到对象。http://jsfiddle.net/AlienWebguy/3hp9f/16/
You have a couple errors:
This works:
You need to prevent the default event behavior, and also add a future-proof event observer such as
live()
ordelegate()
since you are adding the class to the object after the bind has been set.http://jsfiddle.net/AlienWebguy/3hp9f/16/
您在对象具有类之前附加 a.live 事件处理程序,将处理程序移动到第一个事件处理程序中,即
这不是最好的方法,但我希望它告诉您出了什么问题。
You are attaching the a.live event handler before the object has the class, move the handler inside the first one, ie
This is not the best way but I hope it shows you what is wrong.
您可以使用
live
(API Ref) 方法来实现此目的,该方法附加所有当前和未来与选择器匹配的事件:You can use the
live
(API Ref) method for this, which attaches an event to all current and future matches to the selector:给你:http://jsfiddle.net/Skooljester/KcG8g/。您需要使用
.live
而不是.click
。Here you go: http://jsfiddle.net/Skooljester/KcG8g/. You needed to use
.live
instead of.click
.尝试 this
该代码与您的代码并不完全一样,但存在一些问题。我使用了 $('').live 但您可能希望将事件绑定到第一个单击事件中。另请注意,如果您从事件返回 false 而不是使用 PreventDefault,则只有第一个单击事件才会触发。
Try this
The code isn't exactly how you had it but there are some issues. I used $('').live but you might want to bind the event inside of your first click event. Also know that if you return false from your events instead of using preventDefault only the first click event will fire.