反转对象与其他对象事件的耦合方式



>我目前有一个对象 volumeSlider,它受到另外两个控件事件的影响:

var volumeSlider = $('#VolumeSlider');
$('#MuteButton').on('mouseenter', function() {
    volumeSlider.fadeIn('fast');
}
$('#Controls').on('mouseleave', function() {
    volumeSlider.fadeOut('fast');
}

我想反转一下,以便 volumeSlider "侦听"MuteButton 和控件上的事件,而不是被告知响应它们。这可能吗?像这样:

//Pseudo-Code:
volumeSlider.on('#MuteButton.mouseenter'){
    this.fadeIn('fast');
}.on('#Controls.mouseleave'){
    this.fadeOut('fast');
}

jQuery的 http://api.jquery.com/bind/在这里有用吗?

这里有一个建议:

volumeSlider.on('dosomething', function(e) {
    $(this).fadeIn('fast');
});
$('#MuteButton').on('mouseenter', function(e) {
    volumeSlider.trigger('dosomething');
}

相关内容

  • 没有找到相关文章

最新更新