我需要在我的代码中进行geta切换功能,所以我搜索了它并得到了它。现在我将它实现到我的代码中(下面的代码已经简化),但是你必须单击两次按钮才能使它正常工作。点击两次后它正常工作。
导致此问题的原因是什么?如何解决此问题?
var triggerbtn = $('#trigger');
function showThis() {
triggerbtn.text('Show this!');
$(this).one("click", hideThis);
}
function hideThis() {
triggerbtn.text('Hide this!');
$(this).one("click", showThis);
}
triggerbtn.one("click", showThis);

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="trigger">Show this!</button>
&#13;
答案 0 :(得分:2)
按钮的默认状态为show
,第一次点击时,您再次尝试show
它。第一次点击应该是hide
var triggerbtn = $('#trigger');
function showThis() {
triggerbtn.text('Show this!');
$(this).one("click", hideThis);
}
function hideThis() {
triggerbtn.text('Hide this!');
$(this).one("click", showThis);
}
triggerbtn.one("click", hideThis); // Here is the change
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button id="trigger">Show this!</button>