ich DOM haben, ist wie folgt:Kopieren Ereignisse von einem Element zum anderen jquery mit
<a href='javascript:void(0)' id='link1'>Element with events bound initially</a>
<a href='javascript:void(0)' id='link2'>Element to which events are bound in future</a>
Und das javascript:
$(function(){
$('#link1').bind('click',function(){alert('do something to make me happy');})
});
Nun einige Zeit in der Zukunft ich alle Ereignisse kopieren möchten gebunden an link1 zu link2. Ich mache es wie unten beschrieben, bitte schlagen Sie einen besseren Weg vor, wenn möglich oder verfügbar.
var _elmEvents = $(#link1).data('events');
if (_elmEvents) {
$.each(_elmEvents, function (event, handlers) {
$.each(handlers, function (j, handler) {
$('#link2').bind(event, handler);
});
});
}
Für jede der folgenden Erläuterungen es gefragt ist wichtig, dass Sie beachten jQuery hat sich nun geändert und um die Ereignisse auf einem Element zu bekommen Sie $ verwenden müssen ._data ($ ("# foo") [0], "Ereignisse"). (Funktioniert ab jQuery v2.1.4) Andernfalls erhalten Sie undefined von keiner der folgenden Methoden. Für Referenz Siehe: http://stackoverflow.com/questions/2008592/can-i-find-events-bound-on-an-element-with-jquery – Zanderi