为什么在我第一次单击按钮时,按钮会附加3次“Texted Marked”?
然后,它将两次附加相同的字符串,这是我第二次单击按钮。

多谢您的协助。

$(document).ready(function(){
  $("input").select(function(){
    $("ul").append(" Text marked!");
  });
  $("button").click(function(){
    $("input").trigger("select");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<input type="text" value="Hello World"><br><br>

<button>Trigger the select event for the input field</button>
<ul></ul>

最佳答案

doc:


$( "#other").click(function() {
  $( "#target" ).select();
});

所以试试这个:

<input type="text" value="Hello World"><br><br>

<button>Trigger the select event for the input field</button>
<ul></ul>


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
   $(document).ready(function(){
        $("button").click(function(){
            $("input").select();
            $("ul").append(" Text marked!");
        });
    });
</script>


更新。
如果你试试
$(document).ready(function(){
    $("input").select(function(){
        alert("Text marked!");
    });
    $("button").click(function(){
        $("input").select();
    });
});

警报将出现2次,因此我认为原因是您有2个单词,每个单词都有事件触发器。

关于javascript - 使用.trigger()时多次追加,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48571474/

10-11 13:07