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

..ホバーの場合、クリックトグルについても同じようにするにはどうすればよいですか。つまり、クリック時にxを、2回目のクリックでyを実行しますか?

どうもありがとう

4

3 に答える 3

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

$.toggle()任意の数の機能を取ります。ここに2つあります:

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

デモ: http: //jsfiddle.net/vbkBQ/

于 2010-01-13T15:49:45.680 に答える
0

トグル()の問題の1つは、自動的にを呼び出すことevent.preventDefault()です。これは、デフォルトのアクションをそのままにするか、条件付きでのみ呼び出すことができる1つの方法です。

$("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 に答える