2016-03-06 132 views
0

我想将其添加到输入字段,因此每当用户键入或粘贴某些内容时,网页上都会显示一条警报。不过,这并不火(“代码”是inputfield的id):Jquery输入事件不会触发

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

你为什么混合js和jquery? '('input',function(){$(this).val()) }); ' –

回答

1

假设你的HTML是确定的,这将工作:

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

我说假设,因为如果HTML动态你可能需要一个不同的方法,像这样:

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

Have a look at this fiddle

+0

这是html中的输入: Ann

+0

它的工作原理!谢谢 ! – Ann

+0

很高兴帮助!请尽可能接受答案 –

0

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

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

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

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

但您试图提醒codeInput的值,该值已在之前分配了值。

这应该工作(获取参考元素的当前状态,然后调用它的价值)

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

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

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