2012-09-25 191 views
0
<span id="test">​click</span>​​​​​​​​​​​​​​ 

$('#test').toggle(function() { 
    alert('true'); 
}, function() { 
    alert('false'); 
}); 


$('#test').trigger('click'); 

使用觸發器觸發

這是工作不錯,但我想呼籲觸發在第二次切換功能 - 用警報(「假」)。現在,它始終是警報('true')

我該怎麼做?我不想更改功能切換 - 只能更改觸發器。

http://jsfiddle.net/xSbTC/

+1

你想要什麼?它似乎對我來說工作得很好。 – mbinette

+0

'$('#test')。click()。click()';請注意,切換事件已被棄用。 http://jsfiddle.net/v2TXf/ – undefined

+1

實際上,用這種方式使用'toggle()'是不推薦使用的,你應該找出一些其他方法來做你想做的事情,而且肯定有很多。 [FIDDLE](http://jsfiddle.net/xSbTC/1/)... – adeneo

回答

1

如果我正確理解你的問題,你要做到這一點,而不必重複第二個切換功能中的代碼。爲了做到這一點,只需將其移動到一個單獨的函數,並且改爲調用...

function toggle1() { 
    alert("true"); 
} 
function toggle2() { 
    alert("false"); 
} 

$('#test').toggle(function() { 
    toggle1(); 
}, function() { 
    toggle2(); 
}); 

toggle2(); 

我已經把來回切換的兩個部分的代碼放到單獨的功能清晰。如果你願意,你顯然可以將代碼從toggle1()轉移到第一個切換功能。

http://jsfiddle.net/xSbTC/4/

0

爲了執行只有一個功能,你不需要切換,你可以使用點擊

$('#test').on('click', function(){alert('false')});​