2012-09-25 192 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')});​