所以我有这个功能:
showReview: function(){
var main = document.getElementById("main");
var ins = main.getElementsByTagName("INPUT");
var rev = $("reviewcontent").is(":hidden");
for (var i = 0; i<ins.length; i++){
$(ins[i]).on('show input keyup focus change', this.getInVals());
console.log("Invals update from input");
}
if(!rev){
this.addReview();
}
}
第一次加载页面时将触发事件,但在更改输入或再次专注于其他输入时不会触发事件。我不知道为什么。我考虑过它只监听main的最后一个输入,但事实并非如此。
感谢您的帮助!
答案 0 :(得分:0)
$(ins[i]).on('show input keyup focus change', this.getInVals());
删除getInVals调用。尝试将getInVals()
更改为getInVals
$(ins[i]).on('show input keyup focus change', this.getInVals);
答案 1 :(得分:0)
我不知道您要做什么或想说什么,但是我在做类似的事情,如果有帮助,您可以举个例子。
$('.look').on('keyup change', function () {
var value = $(this).val().toLowerCase();
var what_place = $(this).parents('.collapse').find('.col-sm-0');
$(what_place).each(function(){
$(this).css({"display": "block"});
if(value == ''){
$(this).css({"display": "block"});
}
else if($(this).find('h5').text().toLowerCase().indexOf(value) < 0){
$(this).css({"display": "none"});
}
});
});