考虑以下代码:
HTML:
这段代码按预期工作,即仅在单击“启用”按钮时调用
但是,如果我用
为什么会这样?
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');
}
这段代码按预期工作,即仅在单击“启用”按钮时调用
log()
。但是,如果我用
(2)
替换(1)
,则log()
也会在未单击“启用”按钮时调用。为什么会这样?
(1)
和(2)
之间有什么区别?