jquery切换标签但它应该表现为单击并再次单击

时间:2013-08-06 09:46:09

标签: jquery

HTML

<ul>
    <li><a href="#">one</a></li>
    <li><a href="#">two</a></li>
</ul>
<br clear="all" />
<div>some text</div>

CSS

ul{
    list-style: none;
}
li{
    float: left;
    margin: 0 20px;
}
div{
    background-color: red;
    height: 200px;
}

jquery的

$('li a').toggle(function(e){
   $('div').toggle(); 
    e.preventDefault();
});

demo

我的关键问题是为什么标签正在进行切换功能而不是仅仅切换div。

修改

$('li a')。toggle()函数是单击并再次单击函数。但是$('div')。toggle()函数是显示和隐藏的。我对吗?

2 个答案:

答案 0 :(得分:3)

toggle更改为click

当您使用a事件时,

toggle标记正在获得.toggle()

$('li a').click(function(e){ //change toggle to click
   $('div').toggle(); 
    e.preventDefault();
});

$('li a').toggle()函数需要像这样使用

$('li a').toggle(function(){},function(){})

DEMO

$('li a').toggle(function (e) {
    $('div').toggle();
    alert('1');
    e.preventDefault();
}, function (e) {
    $('div').toggle();
    alert('2');
    e.preventDefault();
});

答案 1 :(得分:0)

你打算这样做:demo

$('li a').toggle(function(e){
   $('div').hide(); 
 e.preventDefault();
}, function(){ 
    $('div').show();
e.preventDefault();
});