变更事件后Jquery点击事件失效

问题描述 投票:0回答:1

这是我的代码。

 function change() {
        console.log("change");
        $('span[data-valmsg-for="Car"]').text('');
    }

$("#saveCar").on("click", function () {
            console.log("savecar");
            if (IsCarFormValid() == true) {
                $("#saveCar").attr("disabled", true);
                var model = {};

            }
        });

当我在输入中更改数据并点击按钮时 按钮点击事件没有工作。为什么?

html jquery dom
1个回答
1
投票

使用 alert() 你会发现该事件运行良好。

$("#Car").on("change", function() {
  console.log("vincode change");
  $('span[data-valmsg-for="Car"]').text('');
});

$("#saveCar").on("click", function() {
  alert("button is clicked")
  console.log("savecar");
  var model = {};
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="text" class="form-control" id="Car" name="Car" value="ggdsgdsagdgag">
<span data-valmsg-for="Car" class="text-danger">some validation error</span>

<button type="button" class="btn btn-success" id="saveCar">Save</button>

可能会有点混乱的是,这句话 some validation error 刪除 onBlur 事件(当鼠标点击在输入之外)。所以,如果你改变了你的文字,直接点击按钮,文字会先消失,使你的光标不再在按钮上。所以在实际操作中,你是不会点击按钮的。

但如果你修改了句子,点击输入外(不是按钮上),然后 然后 在按钮上,你会看到警报信息。

© www.soinside.com 2019 - 2024. All rights reserved.