我需要一个附加到元素的事件处理程序,默认情况下它是不可见的。
在那里,您可以找到几个 jQuery 选项卡,而我所针对的选项卡默认情况下也是不可见的。
<div id="help" class="hidden">
<div id="my-help-tab" class="hidden">
<div class="targeted">
<a href="#" class="show-hide">Show</a>
<pre>test</pre>
</div>
</div>
</div>
现在我将如何附加一个事件处理程序(.toggle()
用于显示/隐藏),当元素没有类hidden
(也是子元素)时触发?
我当前的解决方案不会在第一次触发时触发,而只会在第二次或第三次点击时触发。
jQuery( document ).ready( function($)
{
$( '.targeted' ).on( 'click', function( e )
{
event.preventDefault();
$( this ).children( '.show-hide' ).on( 'click', function( e )
{
$( this ).toggle(
function( e )
{
$( this ).html( 'Hide' );
$( this ).next( 'pre' ).toggle();
},
function()
{
$( this ).html( 'Show' );
$( this ).next( 'pre' ).toggle();
}
);
} );
} );
} );