防止在输入上触发onchange

时间:2016-07-27 13:34:19

标签: javascript jquery input onchange

可以防止触发onchange事件吗? 我想在任何情况下都要防止它(例如忽略对输入的关注)并且仅在我手动执行时触发它:

$('#my_input_id').val('a value').change();

2 个答案:

答案 0 :(得分:1)

如果我理解你的问题,这是我的解决方案:

HTML:

<input type="text" id="inp">
<input type="button" id="btn" value="trigger change">

JQuery:

$("#inp").change(function(e, data) {
  if (data) {
    console.log("change by trigger");
  } else {
    console.log("normal change");
  }
})

$("#btn").click(function() {
    $("#inp").val("12").trigger("change", true);
})

LIVE DEMO JSFIDDLE

答案 1 :(得分:0)

只需在活动中设置:

if (en==1){
//code here
en=0;
}

并在手动调用函数

之前设置en
en=1;
$('#my_input_id').val('a value').change()

我们最后将en设置为零,因此我们不会意外地重新启用它。 OPS