Javascript jquery操作触发一次,但不会再次触发
请原谅代码过于庞大,我们会在适当的时候整理它 一切似乎都在运行,然而,当你在链接内容已经“激活”后单击链接时,什么都没有发生 我相信这很简单,但我看不出来 编辑:下面的代码现在可以在FF和Chrome中使用,但在IE8中不起作用。有什么想法吗Javascript jquery操作触发一次,但不会再次触发,javascript,jquery,Javascript,Jquery,请原谅代码过于庞大,我们会在适当的时候整理它 一切似乎都在运行,然而,当你在链接内容已经“激活”后单击链接时,什么都没有发生 我相信这很简单,但我看不出来 编辑:下面的代码现在可以在FF和Chrome中使用,但在IE8中不起作用。有什么想法吗 $(function(){ //initialize active link to not have a link on ready. var linkId = $('#pricing_body div.ac
$(function(){
//initialize active link to not have a link on ready.
var linkId = $('#pricing_body div.active').attr('id');
var activeLink = $('#pricing_nav ul li#'+linkId+' a'); //just the link itself.
activeLink.parent().addClass('activeSection');
//var activeLinkContents = activeLink.parent().html(); //the link contained in the the list item and it's contents.
//alert(activeLinkContents);
var linkContents = activeLink.html(); //text content of the link.
activeLink.parent().html(linkContents);
//when link is clicked, store it's text for assignment after <a> is stripped out.
$('#pricing_nav ul li a').live('click',function(){
var clickedId = $(this).parent().attr('id');
var clickedLinkContents = $(this).html();
$(this).parent().addClass('activeSection');
$(this).parent().html(clickedLinkContents); //replaces <a><span>name</span></a> with just the span and text.
//fadeOut active div and give it inactive class. get list item with same id as div we are fading out.
$('#pricing_body div.active').fadeOut('500',function(){
$(this).removeClass('active').addClass('inactive');
var divId = $(this).attr('id');
var sisterLink = $('#pricing_nav ul li#'+divId);
sisterLink.removeClass('activeSection');
sisterLink.html('<a href="#">'+sisterLink.html()+'</a>'); //put link in between <li>.
//fadeIn the div with id of the link that has been clicked.
$('#pricing_body div#'+clickedId).fadeIn('500',function(){
$(this).addClass('active').removeClass('inactive');
var newActive = $('#pricing_nav ul li#'+clickedId);
});
});
});
});
$(函数(){
//初始化活动链接以使链接不处于就绪状态。
var linkId=$('#定价_bodydiv.active').attr('id');
var-activeLink=$('#pricing#nav ul li'+linkId+'a');//仅链接本身。
activeLink.parent().addClass('activeSection');
//var activeLinkContents=activeLink.parent().html();//列表项中包含的链接及其内容。
//警报(activeLinkContents);
var linkContents=activeLink.html();//链接的文本内容。
activeLink.parent().html(linkContents);
//单击链接时,将其文本存储在“');//将链接置于之间。
//fadeIn已单击链接id为的div。
$('pricing#u body div'+clickedId).fadeIn('500',function(){
$(this).addClass('active').removeClass('inactive');
var newActive=$(“#定价#ul li”+点击EDID);
});
});
});
});
使用live
方法将事件附加到元素。是文档。使用live
方法将事件附加到元素。是文档。请尝试:
$('#pricing_nav ul li a').live('click', function(){
---------
---------
---------
});
编辑:
$('#pricing_nav ul li a').live('click', function(){
---------
---------
---------
});
作为对评论的答复
.live()方法能够影响
尚未添加的元素
通过使用事件
委托:绑定到
祖先元素负责
在其上触发的事件
后代
.bind()方法是主要的
将行为附加到对象的方法
文件。所有JavaScript事件类型,
例如焦点、鼠标悬停和调整大小,
允许使用eventType
试试看:
$('#pricing_nav ul li a').live('click', function(){
---------
---------
---------
});
编辑:
$('#pricing_nav ul li a').live('click', function(){
---------
---------
---------
});
作为对评论的答复
.live()方法能够影响
尚未添加的元素
通过使用事件
委托:绑定到
祖先元素负责
在其上触发的事件
后代
.bind()方法是主要的
将行为附加到对象的方法
文件。所有JavaScript事件类型,
例如焦点、鼠标悬停和调整大小,
允许使用eventType
这是其他问题的重复,基本上你需要在重新创建元素或使用后重新绑定。live()非常感谢。我选择了.live()。我的想法对吗。live()为元素的所有未来版本绑定事件,但.bind()只在页面加载时执行一次,实际上与.click()相同?这是其他问题的重复,基本上在重新创建元素或使用后需要重新绑定。live()非常感谢。我选择了.live()。我的想法对吗?live()为元素的所有未来版本绑定事件,但是.bind()只在页面加载时执行一次,实际上与.click()相同?谢谢。我以前用过。live而不是。单击,现在它可以工作了。我也测试了。绑定,但这不起作用。live()将事件绑定到元素(即使在重新创建事件时)与bind()只分配一次事件有什么区别吗?谢谢。我以前用过。live而不是。单击,现在它可以工作了。我也测试了。绑定,但这不起作用。live()将事件绑定到元素(即使在重新创建事件时)和bind()只分配一次事件的区别是什么?