idl*_*erg 1 javascript jquery jquery-selectors
我正在使用此单击方法来显示其中的其他类 .tile
var $tiles = $('.tile');
$tiles.on('click', function(){
var $this = $(this);
$this.toggleClass('large'); // change layout of tile
$this.children('.details').toggle(); // display additional info
})
Run Code Online (Sandbox Code Playgroud)
由于a .tile可能包含链接,我想限制点击功能.我不希望在.tile单击内部链接时触发该功能.
编辑:虽然@ antyrant的答案适用于普通链接,但我注意到在我的示例中,使用fancyBox的链接仍然存在问题.
这就是我的HTML的样子:
<div class="tile">
<ul class="details">
<li><a class="download"> href="#">Download</a></li>
<li><a class="fancybox-media" href="#">Video</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
单击下载链接工作正常,但fancyBox将无法正常工作!
编辑2:有关工作示例,请参阅此jsFiddle.
$tiles.find( 'a' ).click( function( e ) {
e.stopPropagation();
});
Run Code Online (Sandbox Code Playgroud)
更新:
如果这可以在您使用某些插件时完成,例如您可以检查是否event target有您的基类:例如:
$('.tile').on('click', function ( e ) {
if( !$( e.target ).hasClass( 'tile' ) ) {
return true;
}
//...
Run Code Online (Sandbox Code Playgroud)
看到jsFiddle演示.