Tenir compte du following code:Quelle est la différence entre .click (...) et .live ('click', ...)?
HTML:
<div id='button' class='enabled'>Press here</div>
<div id='log'></div>
CSS:
#button {
width: 65px;
height: 25px;
background-color: #555;
color: red;
padding: 10px 20px;
}
#button.enabled {
color: #333;
}
#button.enabled:hover {
color: #FFF;
cursor: pointer;
}
JavaScript:
$(function() {
$('#button.enabled').live('click', function() { // (1)
//$('#button.enabled').click(function() { // (2)
log('#button.enabled clicked');
});
});
function log(str) {
$('#log').append(str + '<br />');
$('#button').toggleClass('enabled');
}
Ce code fonctionne comme prévu, à savoir log()
est appelée que lorsqueLe bouton 0 est cliqué. Mais, si je remplace (1)
par (2)
, log()
est appelée aussi quand le bouton enabled
n'est pas cliqué.
Pourquoi est-ce?
Quelle est la différence entre (1)
et (2)
?
Merci beaucoup Nick! Tu es le meilleur !! –
@Misha - bienvenue :) espérons que cela couvre clairement, c'est définitivement un point de confusion pour * beaucoup * d'utilisateurs jQuery. –