mio HTML"on" non vincolante per gli elementi
<div>
<span class="more-available" data-completeMessage="This is the complete message you see after clicking more">Hello</span>
</div>
aggiunti dinamicamente aggiungo un tag di ancoraggio fino alla fine in modo dinamico e quindi voglio collegare un gestore di clic al tag di ancoraggio. Così faccio questo
$(document).ready(function() {
//Attach future proof click event to an anchor tag
$('a.more').on('click', function() {
var $parent = $(this).parent();
$parent.text($parent.data('completemessage'));
});
//Add the anchor tag
$('span.more-available').append($('<a class="more">...more</a>'));
});;
Questo non funziona. Se sostituisco "on" con "live", funziona. (Ma dal vivo è deprezzato)
So che posso fare questo
$(document).ready(function() {
$('div').on('click','a.more', function() {
var $parent = $(this).parent();
$parent.text($parent.data('completemessage'));
});
$('span.more-available').append($('<a class="more">...more</a>'));
});;
e funziona, ma la mia domanda è ...
mi sbagliavo nel ritenere che "on" fornisce tutte le funzionalità di live? "On" non si lega agli elementi futuri? È un comportamento corretto o sto facendo qualcosa di sbagliato.
violino: http://jsfiddle.net/arishlabroo/pRBke/5/
Credo che sarà necessario andare più in alto di un livello affinché 'on' funzioni in modo simile alla vita, a causa dell'evento che bolle. – Tejs