如何在单击时触发自定义事件

时间:2013-05-11 15:18:45

标签: jquery

这是一个有点构造的问题,应该教我编写更易于维护的jQuery。

我有一个按钮,应该滑动切换另一个元素。

我知道我可以这样做:

$('.button').click(function(){
  $('.other-element').slideToggle();
});

但是,我想在单击.button时触发一个事件,然后在.other元素上“捕获”该事件。 我以为我能做到这样:

$('.button').click(function(){
  $(this).trigger('customEvent');
});

$('.other-element').on('customEvent', function() {
  $(this).slideToggle();
});

这个ofc会产生更多的代码,在这个具体的例子中,它可能不是一个好主意,但我喜欢事件触发和捕获之间的区分。

我该如何正确地做到这一点?

2 个答案:

答案 0 :(得分:1)

你在找这个吗?

$('.button').click(function(){
  $('.other-element').trigger('customEvent');
});

$('.other-element').on('customEvent', function() {
  $(this).slideToggle();
});

答案 1 :(得分:0)

您需要为customEvent元素触发.other-element,而不是button

$('.button').on('click', function(){
    $('.other-element').trigger('customEvent');
});