Was ist der Unterschied zwischen .click (…) und .live ('click',…)?

Bedenke diefolgender Code:

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');
}

Dieser Code funktioniert wie erwartet, d. H.log() wird nur aufgerufen, wennenabledlicken Sie auf die Schaltfläche @.

Aber wenn ich @ erset(1) mit(2), log() heißt auch wenn nichtenabledlicken Sie auf die Schaltfläche @.
Warum das
Was ist der Unterschied zwischen(1) und(2) ?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage