请考虑以下代码:
HTML:
<div id='button' class='enabled'>Press here</div>
<div id='log'></div>
Run Code Online (Sandbox Code Playgroud)
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;
}
Run Code Online (Sandbox Code Playgroud)
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');
}
Run Code Online (Sandbox Code Playgroud)
此代码按预期工作,即log()仅在enabled单击按钮时调用.
但是,如果我替换(1)为(2),log()也会在未按下enabled按钮时调用.
这是为什么 ?和
之间有什么区别?(1)(2)