我正在使用jquery来检查我的视图中是否按下了按钮(嵌入式),但是第一次进行该过程将可以正常工作,但是稍后在视图中您可以选择返回以更改拥有的人数选择。在那一点上,一旦回到视图的第一部分,mousedown事件将允许您选择按钮并为他们提供两次触发的collor触发,这将启用该按钮,但也会立即禁用同一按钮。
我已经尝试过自动取款机(atm),以便一旦将它放回原处,它将更改函数外的var,需要将其作为一个特定的单词,但是对于if()却确实起作用。
包括我从308行到334行的代码。 此代码用于激活和禁用按钮。第一次启动时,它将搜索被按下的按钮,并向其添加活动类(如果确实具有该按钮,反之亦然)。
var selectPersonsFunction = function (event) {
console.log('selectPerson')
// alert( 'mothafucka');
var button = $(event.target);
var selectPersons = button.parent();
if ($.isNumeric(button.text())) {
// get_availablity();
if (button.hasClass('active')) {
selectPersons.find('button.btnplus').text('+');
selectPersons.find('button.btnplus').val(0);
selectPersons.find('button').removeClass('active');
selectPersons.find('input').val(5);
console.log('deactive');
} else {
selectPersons.find('button').removeClass('active');
button.addClass('active');
selectPersons.find('input').val(button.text());
console.log('active');
}
}
};
$('.selectPersons button').mousedown(selectPersonsFunction);
我期望的是,该代码将像第一次触发时一样被触发两次,然后在第二次触发。 但是实际结果是,它只会触发与您回到该嵌入式视图相同的数量
P.S。我没有任何错误
编辑1:
我已经包括了我的html代码的一部分,该部分使用jquery添加类和其他内容。
var selectPersonsFunction = function(event) {
console.log('selectPerson')
// alert( 'mothafucka');
var button = $(event.target);
var selectPersons = button.parent();
if ($.isNumeric(button.text())) {
// get_availablity();
if (button.hasClass('active')) {
selectPersons.find('button.btnplus').text('+');
selectPersons.find('button.btnplus').val(0);
selectPersons.find('button').removeClass('active');
selectPersons.find('input').val(5);
console.log('deactive');
} else {
selectPersons.find('button').removeClass('active');
button.addClass('active');
selectPersons.find('input').val(button.text());
console.log('active');
}
}
};
$('.selectPersons button').mousedown(selectPersonsFunction);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="selectPersons" class="btn-group selectPersons" role="group" aria-label="Button group with nested dropdown">
<button type="button" value="1" class="btn btn-default btn-lg btn-responsive buttons1234">1</button>
<button type="button" value="2" class="btn btn-default btn-lg btn-responsive buttons1234">2</button>
<button type="button" value="3" class="btn btn-default btn-lg btn-responsive buttons1234">3</button>
<button type="button" value="4" class="btn btn-default btn-lg btn-responsive buttons1234">4</button>
<div class="btn-group" role="group">
<button onclick="void(0)" id="amount_of_people_types--btnGroupDrop" type="button" class="btn btn-default dropdown-toggle btn-lg btnplus buttons1234 btninputouter" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">+</button>
<div class="dropdown-menu" aria-labelledby="amount_of_people-btnGroupDrop">
<div class="input-group input-group-sm">
<input id="amount" type="number" class="form-control btninput" name="amount_of_people_types" value="0" max="{{$amount_of_people_type->max_persons}}">
<span class="input-group-btn">
<button type="button" class="btn next-page ok">OK</button>
</span>
</div>
</div>
</div>
</div>
编辑2
我忘了说我要回到html的那部分是在页面顶部的进度条完成的,因此不会重新加载页面。生病了以描述我的意思。
编辑3
因此尝试创建一个小提琴,但是因为此代码是本地代码,并且由我和我的朋友制作,所以我似乎无法使其正常工作,因为该代码已捆绑到许多不同的文件中。对此我感到抱歉。