1
我現在有一個對象,volumeSlider,這是由其他兩個控件影響事件:反相的對象是如何連接到其他對象的事件
var volumeSlider = $('#VolumeSlider');
$('#MuteButton').on('mouseenter', function() {
volumeSlider.fadeIn('fast');
}
$('#Controls').on('mouseleave', function() {
volumeSlider.fadeOut('fast');
}
我想反轉這使得volumeSlider‘等待’用於MuteButton和Controls上的事件,而不是被告知回覆它們。這可能嗎?例如:
//Pseudo-Code:
volumeSlider.on('#MuteButton.mouseenter'){
this.fadeIn('fast');
}.on('#Controls.mouseleave'){
this.fadeOut('fast');
}
jQuery的http://api.jquery.com/bind/在這裏有用嗎?
你在做什麼目前是不可能的,但你可以從'MuteButton的和Control's'事件觸發自定義事件,並聽取他們對'volumeSlider' –
我不是真的很確定你爲什麼想要這樣做。你希望能夠通過你的事件處理程序中的'this'來引用'volumeSlider'嗎?然後在事件處理函數中使用['$ .proxy'](http://api.jquery.com/jQuery.proxy/)將其綁定到'volumeSlider'上下文。你想將所有這些元素分組到一個媒體播放器控件中嗎?然後,你應該考慮將所有內容都包裝在一個管理這些元素的jQuery插件中,綁定處理程序並公開諸如'play()'或'mute()'等方法來更新DOM。 –