我有这段代码
opam
这很好用。每次按钮释放时,我都会记录var tm;
$('#category #product_list .ajax_block_product').on('mouseover',function(){
var that = $(this);
tm = setTimeout(function(){
that.find('.sl').show();
that.find('.product_img_link img').hide();
that.addClass('hovered');
}, 500);
});
$('#category #product_list .ajax_block_product').on('mouseleave',function(){
clearTimeout(tm);
that.find('.sl').hide();
that.find('.product_img_link img').show();
that.removeClass('hovered');
});
。但是,当我将此事件更改为$(".steps").on("keyup", "input", function() {
console.log('test');
} );
时,它就不会触发。
test
任何想法为什么?
答案 0 :(得分:3)
oninput(现代浏览器,IE9 +):在输入中更改文本时触发(可以看到文本框中的更改)。
onchange:会在文字发生变化且元素失去焦点时触发。
onpropertychange(IE小于9):类似于oninput(似乎没有捕获所有内容,删除并不总是触发)
这是我用来立即捕获事件(捕获输入,属性更改和粘贴):
$('input').on('input propertychange paste', function (e) {
});
答案 1 :(得分:1)
当输入已更改且失去焦点时,将触发更改事件。或者在元素上调用.change()时。