我試圖創建觸發第二個事件的jQuery事件。第一個事件是點擊引用圖像的表情符號。第二個是在頁面周圍移動圖像的mousemove事件。當鼠標再次發生在頁面主體的任何位置並將圖像置於該絕對位置時,第三個事件會停止此事件。我能夠得到第二個和第三個事件的工作,但我不能讓第一個事件與第二個事件一起工作。這裏是我到目前爲止我的jQuery:創建觸發第二個事件的事件
var mouseTracker = function(event) {
console.log(event.pageX, event.pageY, !!event.which)
$('#emoji').css('top', event.pageY);
$('#emoji').css('bottom', event.pageY);
$('#emoji').css('left', event.pageX);
$('#emoji').css('right', event.pageX);
}
var begin = function() {
$('body').on('mousemove', mouseTracker);
$('body').css('cursor', 'none');
}
var stop = function() {
$('body').off('mousemove', mouseTracker);
$('#emoji').css('postion', 'absolute')
$('body').css('cursor', 'default');
}
$('#emoji').on('click', begin);
$('body').on('click', stop);`
它不能正常工作,因爲連接體處理程序立即觸發。 –
我可能是錯的 - 但爲什麼它觸發如果你傳遞一個函數引用的事件對象? –
事件從'#emoji'傳播到'body'。從'#emoji'點擊處理程序存在後,事件會傳播到'stop()',因爲它已經連接。 –