jQuery:使用 live() 而不是 delegate() 使 Dropdown 工作
我构建了一个相当简单的下拉菜单。这是实时示例: http://jsfiddle.net/K8VtB/
我正在使用的代码是这样的:
$(document.body).delegate('.select .option', 'click' , function(e){
e.stopPropagation();
$(".select .option:not('.darr')").hide();
selectedOption = $(this).parents("div.select").find(".option:first");
$(this).siblings().show();
selectedOption.text($(this).text()).attr("title",this.title);
});
$(document.body).delegate('.select .option:not(".darr")', 'click' , function(e){
$(this).parents("div.select").find(".option:not('.darr')").hide();
console.log($(this).attr('data-ajax-link'));
});
$(document).click(function() {
$(".select .option:not('.darr')").hide();
});
我在这方面得到了一些帮助,因为我以前从未使用过委托。
我尝试用 live() 方法做同样的事情。我想知道为什么这不适用于现场?或者我做错了什么?
这是我尝试做的与现场相同的脚本。只是没有任何效果。 http://jsfiddle.net/K8VtB/1/
任何人都可以帮助我并告诉我什么使用 live() 时我做错了?
i have a fairly simple dropdown I build. Here is the live example: http://jsfiddle.net/K8VtB/
The code i'm using is this:
$(document.body).delegate('.select .option', 'click' , function(e){
e.stopPropagation();
$(".select .option:not('.darr')").hide();
selectedOption = $(this).parents("div.select").find(".option:first");
$(this).siblings().show();
selectedOption.text($(this).text()).attr("title",this.title);
});
$(document.body).delegate('.select .option:not(".darr")', 'click' , function(e){
$(this).parents("div.select").find(".option:not('.darr')").hide();
console.log($(this).attr('data-ajax-link'));
});
$(document).click(function() {
$(".select .option:not('.darr')").hide();
});
I got some help with this because I've never used delegate before.
I tried doing the same with the live() method. I wonder why this is just not working with live? Or what I'm doing wrong?
Here is the same script with live I tried to do. Just nothing works. http://jsfiddle.net/K8VtB/1/
Can anyone help me out here and tell me what I'm doing wrong when using live() ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
更改
为
这里是小提琴 http://jsfiddle.net/K8VtB/4/
change
to
here is the fiddle http://jsfiddle.net/K8VtB/4/