我已经将点击处理程序附加到围绕我的无线电输入的div上。当div被点击时,它会设置收音机的检查状态,但是我也想触发绑定到该收音机的所有事件。 有可能是结合到它的多个模块,并且他们有可能被上模糊,改变,单击,DBLCLICK,焦点,悬停等结合触发绑定到元素的所有jQuery事件
现在我可以用下面的代码:
$('.form-type-radio').click(function(){
$(this).find('input').attr('checked', 'checked').trigger('blur').trigger('change').trigger('click').trigger('dblclick').trigger('focus').trigger('hover');
});
但是,我真的想要一个更简洁的方法 - .trigger('all')
将是完美的。
有没有办法做到这一点?
我是否认为这会触发绑定到包含div .form-type-radio的所有事件?我需要找到该div中的输入并触发绑定到该事件的事件(.find('input'))... –
@FelixEve所以使用精确的选择器。我想'$('。form-type-radio')'是一个无线电输入,而不是DIV。或者如果你在谈论冒泡,使用triggerHandler()代替 –
。form-type-radio是包含div的。我试过使用:var events = $ ._ data($(this).find('input'),'events'), $ self = $(this).find('input'); (事件,函数(k,o){if(k!= e.type) $ self。触发器(K); });我得到TypeError:在jQuery.js中的“line length = object.length,”对象是未定义的。 –