Javascript jQuery:';if.change()和.keyup()';

Javascript jQuery:';if.change()和.keyup()';,javascript,jquery,Javascript,Jquery,我想知道是否有一种简单的方法来检查是否存在导致更改的keyUp事件?我知道可以绑定这两个事件: $("#my-element").bind("change keyup", function(e) { // code }) 上述代码将在触发keyup或change事件时触发,但是否有一种优雅的方式来表示“导致更改的keyup事件?”在我看来,最简单的方法是将元素的当前值存储在内存中,并检查在keyup回调中该值是否不同。 var oldValue=$(“#我的元素”).val() 在我看

我想知道是否有一种简单的方法来检查是否存在导致更改的keyUp事件?我知道可以绑定这两个事件:

$("#my-element").bind("change keyup", function(e) {
    // code
})

上述代码将在触发keyup或change事件时触发,但是否有一种优雅的方式来表示“导致更改的keyup事件?”在我看来,最简单的方法是将元素的当前值存储在内存中,并检查在keyup回调中该值是否不同。 var oldValue=$(“#我的元素”).val()


在我看来,最简单的方法是将元素的当前值存储在内存中,并在keyup回调中检查该值是否不同。 var oldValue=$(“#我的元素”).val()


如果元素是输入类型,我建议您使用输入事件

$("input[name='inputname']").on("input", function () {
    console.log($(this).val());
});
否则,您可以通过绑定“keyup”事件来确定按下的键是否会更改字段值

$("input[name='inputname']").on("keyup", function (e) {
     if ($.inArray(e.keyCode, [8, 9, 13, 27, 46, 110, 190]) !== -1
         || (e.keyCode >= 35 && e.keyCode <= 39)) {
         return;
     } else {
         console.log(e.keyCode);
     }
     /* you might want to use prevnetDefault() for prevent default action when the evnet triggerd. 
      * (e.g. Below code ensures that it's a alphabet key.)
      */
     if ((e.keyCode < 65 || e.keyCode > 90) && (e.keyCode < 97 || e.keyCode > 122)) {
         e.preventDefault();
     }
 });
$(“input[name='inputname'])。在(“keyup”上,函数(e){
if($.inArray(例如,keyCode[8,9,13,27,46,110,190])!=-1

||(e.keyCode>=35&&e.keyCode如果元素是输入类型,我建议您使用输入事件

$("input[name='inputname']").on("input", function () {
    console.log($(this).val());
});
否则,您可以通过绑定“keyup”事件来确定按下的键是否会更改字段值

$("input[name='inputname']").on("keyup", function (e) {
     if ($.inArray(e.keyCode, [8, 9, 13, 27, 46, 110, 190]) !== -1
         || (e.keyCode >= 35 && e.keyCode <= 39)) {
         return;
     } else {
         console.log(e.keyCode);
     }
     /* you might want to use prevnetDefault() for prevent default action when the evnet triggerd. 
      * (e.g. Below code ensures that it's a alphabet key.)
      */
     if ((e.keyCode < 65 || e.keyCode > 90) && (e.keyCode < 97 || e.keyCode > 122)) {
         e.preventDefault();
     }
 });
$(“input[name='inputname'])。在(“keyup”上,函数(e){
if($.inArray(例如,keyCode[8,9,13,27,46,110,190])!=-1

||(e.keyCode>=35&&e.keyCode我建议将
$(“#我的元素”)
s更改为
$(this)
&使用jQuery的
数据
$(this)。数据('oldvalue'))
。通过这种方式,它可以与多个元素一起使用,而不必为每个元素使用单独的函数/变量。我建议将
$(“#我的元素”)
s更改为
$(This)
&而不是使用jQuery的
数据
$(This)。数据('oldvalue'))
。通过这种方式,它可以与多个元素一起使用,而不必为每个元素单独设置函数/变量。