当输入文本发生变化时,更改事件不起作用?

时间:2016-07-04 11:31:01

标签: javascript jquery html onchange

这是我的代码:

<input type="text" id="x">
$(document).ready(function(){
    $("#x").onchange(function(){
        alert("x");
    })
});

但是id并不起作用。有什么问题?

4 个答案:

答案 0 :(得分:2)

改变这个:

$("#x").onchange

到此:

$("#x").change  

有一个.on()列表器,因此也可以使用:

$("#x").on('change', function(){
   alert("x");
})

你有一个jQuery对象,你必须只绑定jQuery方法。当您关闭焦点时,input[type=text]上的更改事件就会起作用。

答案 1 :(得分:0)

在jquery中使用.change()事件而不是.onchange()事件。

&#13;
&#13;
$(document).ready(function(){
  $("#x").change(function(){
    alert("x");
  })
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<input type="text" id="x">
&#13;
&#13;
&#13;

答案 2 :(得分:0)

因为onchange是javascript。在jquery中它是change

$("#x").change(function(){
                    alert("x");
                })

$("#x").on('change',(function(){
                    alert("x");
                })

但要触发它你应该改变焦点

答案 3 :(得分:0)

$.onchange不是一个功能。您在原生JavaScript之间感到困惑,允许

<input onchange="doSomething()"/>

和jQuery,需要

$(selector).on("change",function(){...});

正确的函数是$.on(event),其中event是一个字符串。在这种情况下,你需要

$("#x").on("change",function(){..});