这个.click()
函数触发单击。这就是为什么会发生这种情况。单击后.css()
运行并将按钮变成橙色。
如果要在单击时更改颜色,请从the documentation, 事件处理程序需要作为回调函数传递给.click()
, 未链接到它:
$(document).ready(function() {
$("button").click(function() {
e.preventDefault();
$(this).css("color", "orange");
});
});
请注意
e.preventDefault();
应该放在事件处理程序中,而不是放在原来的位置。
此外,我认为值得指出的是,jQuery对于这一点是不必要的,您可以使用“vanilla”JS这样做:
var buttons = document.querySelectorAll( \'button\' );
for ( var i = 0; i < buttons .length; i++ ) {
buttons[i].addEventListener( \'click\', function( e ) {
e.preventDefault();
buttons[i].style.color = \'orange\';
}
}
或者,如果您不需要支持IE:
document.querySelectorAll( \'button\' ).forEach( function( el ) {
el.addEventListener( \'click\', function( e ) {
e.preventDefault();
el.style.color = \'orange\';
}
} );