【发布时间】:2018-07-17 04:18:44
【问题描述】:
我正在尝试使用 jquery 和 bootstrap 更改按钮的状态。 在我单击一个后,它们都只是保持 btn 默认值。
$("#content-background-disabled-btn").click((e) => {
$(this).removeClass("btn-default");
$(this).addClass("btn-success");
$("#content-background-enabled-btn").removeClass("btn-success");
$("#content-background-enabled-btn").addClass("btn-default");
e.preventDefault();
});
$("#content-background-enabled-btn").click((e) => {
$(this).removeClass("btn-default");
$(this).addClass("btn-success");
$("#content-background-disabled-btn").removeClass("btn-success");
$("#content-background-disabled-btn").addClass("btn-default");
e.preventDefault();
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>
<button class="btn btn-default" id="content-background-disabled-btn">
content-background-disabled-btn
</button>
</p>
<p>
<button class="btn btn-default" id="content-background-enabled-btn">
content-background-enabled-btn
</button>
</p>
【问题讨论】:
-
问题是由于您使用了箭头函数。函数中的
this指的是父this绑定,即window。