首页 > 解决方案 > 为什么我在添加文本时没有收到警报?

问题描述

我知道我可以通过在按钮单击侦听器主体中添加警报功能来实现这一点,但我不想那样做。我希望每当此文本框收到文本时,我都会收到警报。

这是代码

<!DOCTYPE html>
<html>
    <head>
 <script src="https://code.jquery.com/jquery-3.1.1.js"></script>
        <title>Page Title</title>
    </head>
    <body>
        <form>
<input id="check" type="text" name="check" >

        </form>

        <button id="test">ClickMe</button>

    
    
  <script>  
  $(document).ready(function() {
    
    $('#test').click(function () {
        $('#check').val('Example') ;

    })

        $('#check').on('input propertychange paste change', function () {
        
          alert("text added");


        })

    })
    </script>
    </body>
</html>

标签: javascripthtmljquery

解决方案


用Javascript设置值不会触发事件,所以需要手动触发事件。此外,您实际上只需要“输入”事件。其他的无关紧要或多余。

$('#check').trigger('input');

或者您可以链接它,因为您使用的是 jQuery:

$('#check').val('N001-01-1356/2017').trigger('input');

例子:

$(document).ready(function() {

  $('#test').click(function() {
    $('#check').val('N001-01-1356/2017').trigger('input');
  })

  $('#check').on('input', function() {
    alert("text added");
  })
  
})
<script src="https://code.jquery.com/jquery-3.1.1.js"></script>

<form>
  <input id="check" type="text" name="check">
</form>

<button id="test">ClickMe</button>


推荐阅读