我希望事件能夠被具有適當上下文的任何元素觸發。現在我正在這樣做:通用代理與jQuery
$(document.body).on('mycustomevent', '*', function(e) {
e.stopPropagation()
console.log('mycustomevent')
console.log(this)
}
這有什麼問題嗎?有沒有更好的辦法?
另一個相關的問題是我將如何觸發此事件的未附加到文檔的元素?即:
$('<div></div>').trigger('mycustomevent')
您可能想通過'body *'來避免'html'和'body'元素,儘管這取決於您的情況。 –
「e.stopPropagation()」調用沒有多少意義,因爲您已經在正文級別處理事件 - 也就是說,在處理程序被調用時,它已經從原始目標元素傳播開來。 – nnnnnn
而不停止傳播,事件將在DOM樹上的每個單元上觸發。 –