我试图运行一个函数,如果你点击李的任何地方,除了特定的按钮(在这种情况下发生其他事情)。看来我应该使用.not或:not,但是尝试下面的任一个会导致错误并阻止函数的执行。
编辑:加入jsfiddle Demo 该代码遵循Blender的建议,通过切换live> on和使用他的语法,但是这并没有解决问题。
的Javascript:
$('#currentThread').on('click', 'li:not(.chromeElement)', function() {
$(this).find('.hiddenChrome').slideToggle();
});
HTML:
<div id='thunderdome'>
<section id='middle'>
<ul id='currentThread'>
<li class="c1L9zObS">
<article>
<img src="http://www.gravatar.com/avatar/ae7238730d03d6da0df35cd8a96ee4dc?d=identicon" class="userPic">
<p class="body">foo reply to op</p>
</article>
<p class="byline">By <span class="user">raurus</span><span class="timestamp">; Posted a while ago</span><span class="context">2 Tangents</span>
</p>
<div class="hiddenChrome" style="display: none;">
<div class="chromeElement star">
<p>Star</p>
</div>
<div class="chromeElement report">
<p>Report</p>
</div>
<div class="chromeElement delete">
<p>Delete</p>
</div>
<div class="chromeElement edit">
<p>Edit</p>
</div>
<div class="chromeElement vote unvoted isLoggedIn"></div>
</div>
<hr>
</li>
</ul>
</section>
</div>
的目标是,你可以点击任何地方里,它会展开显示你.hiddenChrome
的问题是,单击一个.chromeElement会导致第一个函数执行,而.hiddenChrome会切换回来。我想让它点击任何/但/ .chromeElement使该函数执行。
我不想使用.slideDown()作为切换是所需的行为。
should't是富()? – letiagoalves 2013-04-26 19:47:49
除了'.live'被弃用并在jQuery 1.9中删除之外,它不支持链接! http://api.jquery.com/live/。你得到'未捕获的SyntaxError:意外的令牌; '因为你错过了关闭')'。 – 2013-04-26 19:48:34