Mousedown事件是否触发抽搐?

时间:2019-01-22 15:03:48

标签: jquery laravel

我正在使用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

因此尝试创建一个小提琴,但是因为此代码是本地代码,并且由我和我的朋友制作,所以我似乎无法使其正常工作,因为该代码已捆绑到许多不同的文件中。对此我感到抱歉。

0 个答案:

没有答案