4
$("li").hover(
function () {
    // do x
},
function () {
    // do y
});

..这就是悬停,我如何为点击切换做同样的事情,即点击时执行x,第二次点击时执行y?

非常感谢

4

3 回答 3

12
$('li').toggle(function() {
 alert(1)
}, function() {
 alert(2);
});
于 2010-01-13T15:45:25.903 回答
11

$.toggle()将采用任意数量的功能。这里有两个:

$("li").toggle(
  function() { /* do x */ },
  function() { /* do y */ }
);

演示:http: //jsfiddle.net/vbkBQ/

于 2010-01-13T15:49:45.680 回答
0

toggle() 的一个问题是它会自动调用event.preventDefault(). 这是一种让您保留默认操作或仅允许您有条件地调用它的方法。

$("a").click(function(event){
    var toggle = ($(this).data('toggle') == undefined) ? true : $(this).data('toggle');
    console.log(toggle);

    if(toggle){
        event.preventDefault();
    }

    $(this).data('toggle', !toggle);
});​​
于 2012-10-18T00:26:29.603 回答