这真的很奇怪。当调用clear函数并重置值时,然后调用过滤器更改函数。奇怪的是没有事件,但我对event != NULL
或event != 'undefined'
或event != void 0
等事件所做的任何检查都不起作用!它会像事件确实存在一样通过检查。如果我试图提醒事件...当有一个真实的的点击事件时,它工作得很好,但是当它被clear调用时,它完全杀死了这个函数,而没有做警报,也没有任何错误!
$('.clear').live("click", function() {
page.find('.Filter').val("");
});
$('.Filter').live("keyup change", function(event) {
if(event)
alert(event);
else
alert('works');
});
3条答案
按热度按时间z4bn682m1#
当你点击按钮时,filter的事件没有被调用,问题是你在filter上的change事件,当你离开输入框的焦点时,change触发。如果你在那里输入,然后点击清除按钮,你会得到一个警告,比如点击清除导致事件被调用,但实际上是你的
change
事件被离开输入框的焦点所调用,移除变更事件。将筛选器事件更改为
$('.Filter').live("keyup", function(event) {
8yparm6h2#
设置值不触发
change
事件,需要手动触发,如下所示:jsfiddle:http://jsfiddle.net/PrALa/的参数值
如果删除
trigger
,则不会显示警报,因为它未被触发。l5tcr1uw3#
在“clear”函数中添加
.trigger('change')
: