Jquery输入事件不会触发

时间:2016-03-06 12:55:58

标签: javascript jquery

我正在尝试将其添加到输入字段,因此每当用户键入或粘贴某些内容时,网页上都会显示警告。但它不会触发('code'是输入字段的id):

var codeInput = document.getElementById('code');
    $('#code').on('input', function () {
        window.alert(codeInput.value);
    });

3 个答案:

答案 0 :(得分:1)

假设你的html没问题,这将有效:

    grails.serverURL: 'http://localhost:8080/appname'
    server:
      port: 8080
      contextPath: '/appname'

我说假设是因为如果html是动态的,你可能需要一种不同的方法,比如:

$('#code').on('input', function () {
    alert($(this).val())
});

Have a look at this fiddle

答案 1 :(得分:0)

var codeInput = document.getElementById('code');

当执行JavaScript时遇到此行,将获得对id为code的元素的引用,并将其存储在codeInput中。该值一旦分配就不会更新。

$('#code').on('input', function () {
        window.alert(codeInput.value);
    });

这是一个事件处理程序。注册一次后,每次元素code都有输入时都会执行。

但您正在尝试提醒codeInput的值,该值已被赋予之前的值 AND NOT UPDATED

这应该有效(获取对元素当前状态的引用,然后调用其值)

$('#code').on('input', function () {
    alert($(this).val())
});

答案 2 :(得分:0)

jQuery没有输入事件,你可以使用下面的代码

var codeInput = document.getElementById('code');
    $('#code').on('input', function () {
        window.alert(codeInput.value);
    });