2016-11-10 2 views
3

Wir mehrere Ereignisse an ein Element anhängen können .on()Mehrere Event-Handler auf dynamische Inhalte mit .on()

$('.foo').on({ 
    'click':function(e){ 
     // do stuff 
    }, 
    'mouseenter':function(e){ 
     // do some other stuff 
    }, 
    'mouseleave':function(e){ 
     // do completely different stuff 
    } 
}); 

Wir können einen Handler für unsere Elemente in das Dokument und Filter auch anhängen mit dem Ereignis haben, auf nachträglich erstellte Elemente

Ist es möglich, diese Verhaltensweisen zu kombinieren, um mehrere Ereignisse an ein Element und zukünftige Elemente zu binden?

+1

Verschiedene Funktionskörper? –

+0

Wenn Sie fragen, ob Sie dem delegierten On-Handler ein Objekt bereitstellen können, lautet die Antwort nein. Sie müssen es für jeden Ereignistyp einmal aufrufen. –

Antwort

1

Sie können wie diese

$(document).on({ 
 
    click: function() { 
 
     alert("click") 
 
    }, 
 
    mouseenter: function() { 
 
     alert("mouseenter") 
 
    }, 
 
    mouseleave: function() { 
 
     alert("mouseleave") 
 
    } 
 
}, ".foo");
<div class="foo">test</div> 
 
<script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>

1

Sie dieses

tun können, versuchen bedeckt
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
<p class="foo" style="height: 30px;width: 40px;">Test</p> 
<script> 
    $(".foo").on('mouseenter click mouseleave', function (event) { 
     alert('ok') 
    }); 
    </script> 
Verwandte Themen