2013-06-06 47 views
1

我正在嘗試爲元素構造一個包裝,並且我想爲我的包裝創建一個無縫集成。爲了達到這個目的,我想將所有事件從一個元素傳播到另一個元素,以創建一個鏡像來說明這一點。使用jQuery將所有事件從一個元素傳播到另一個元素

假設我有#element-1和#element-2。我給#element-1一個'click'處理程序。期望的行爲是,無論何時發生點擊,無論是#element-1還是#element-2,處理程序都應該觸發。另外,如果#element-2被分配了不同的'click'處理程序,則這兩個處理程序都應該觸發。

不要擔心無限冒泡,我會找到一個機制來對付它。我的問題是,如何在不編寫所有事件名稱的情況下(我還想獲得自定義事件,因此對事件名稱進行硬編碼不是一種選擇),我該如何實現這兩個元素的所有可能事件的事件鏡像?

我對可能不使用jQuery的解決方案持開放態度,只要它實現我所描述的內容即可。

+0

http://stackoverflow.com/q/9735608/139010 –

+0

從我所看到的,。數據(「事件」)獲取_bound_事件列表中,這是不活了。任何方式我都可以使這適用於將來可能會受到約束的任何事件,而無需計時器或類似的東西? –

+0

不AFAIK。沒有通配符或類似的事件。你可以通過重寫'$ .fn.bind'來完成它。 –

回答

0

假設有內部div編號#事件-1,#事件-2,...#事件-10 10個錨定元件。您可以按如下方式編寫事件處理程序。

for(i=0;i<=10;i++) { 
    if ($(".event-"+i).find('a').length > 0) { 
    var g = $(".event-"+i).find('a'); 
    g.click(function(){ 
     /* Your code */ 
    }); 
    } 
} 
相關問題