工作只是一个简单的JS代码片段:的addEventListener不会出现变革事件
HTML:
JAVASCRIPT:
var t1 = document.getElementById('t1');
var t2 = document.getElementById('t2');
t1.addEventListener('keyup', function() {
t2.value = t1.value.toUpperCase();
});
t2.addEventListener('change propertychange input', function() {
alert('dd');
});
正如你所看到的,永远不会触发T2的change事件!这很简单,不需要更多的描述。在“Chrome版本56.0.2924.87(64位)”和“Firefox 52.0(32位)”中进行测试。有人有什么主意吗?
UPDATE:
它应该是这样的约t2.addEventListener:
t2.addEventListener('change', function() {
alert('dd');
});
OR
$("#t2").on('change propertychange input',function(){
// do something here......
});
再次更新:
其实,没有T1或打字改变事件。我只是为了一个例子。我唯一想要的是我需要知道t2的值何时被另一个函数改变。所以,我认为我们应该关注t2,而不是t1。
更新三:
我相信所有的你们之前使用谷歌的自动完成。一些片断喜欢这样的:
autocomplete = new google.maps.places.Autocomplete(
// .......
);
autocomplete.addListener('place_changed', fillInAddress);
function fillInAddress(){
t2.val(......);
}
但是,事情是,我不希望把触发东西“fillInAddress”,相反,我要上捕获的addEventListener这个变化的事件或(“变化”) T2,就像我之前写的...
最后更新:
还是想不通为什么T2“变”事件不能被触发。但是,我像@Kind用户那样在t1中添加了一些东西,并解决了问题。如果有人有任何想法,我很感激,如果你愿意与我分享!
的重复[*什么是当输入值由JavaScript变更了活动*](http://stackoverflow.com/questions/42427606/what-is-the-event-when - 输入值改变的逐的JavaScript)。我发布了[答案](http://stackoverflow.com/a/43272514/157247)。 –