j'ai DOM est comme ceci:événements Copie d'un élément à l'autre en utilisant jquery
<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>
Et ce javascript:
$(function(){
$('#link1').bind('click',function(){alert('do something to make me happy');})
});
maintenant un peu de temps à l'avenir je veux copier tous les événements liés à link1 à link2. Je le fais comme écrit ci-dessous s'il vous plaît suggérer une meilleure façon si possible ou disponible.
var _elmEvents = $(#link1).data('events');
if (_elmEvents) {
$.each(_elmEvents, function (event, handlers) {
$.each(handlers, function (j, handler) {
$('#link2').bind(event, handler);
});
});
}
Pour tous les commentaires posées ci-dessous, il est important que vous notez jQuery a maintenant changé et afin d'obtenir les événements sur un élément que vous devez utiliser $ ._data ($ ("# foo") [0], "événements"). (Fonctionne à partir de jQuery v2.1.4) Sinon, vous recevrez undefined de l'une des méthodes ci-dessous. Pour référence Voir: http://stackoverflow.com/questions/2008592/can-i-find-events-bound-on-an-element-with-jquery – Zanderi