如何将.trigger()
- 事件与.stopPropagation()
一起使用?我需要在不触发提交事件的情况下模拟提交事件。
$('.form .submit').trigger('click', function (e) {
e.stopPropagation();
});
不起作用。有没有办法实现这个目标?
答案 0 :(得分:0)
你能说出你的提交活动会发生什么吗? 到现在为止我会这样说:
// add trigger for submit event
$( ".form" ).on( "submit", function( e, prevent ) {
if ( prevent ) {
// stop propagation if second argument named prevent was committed
e.stopPropagation();
}
} );
// trigger Event "submit"
// use $.Event to ensure that the native submit event of the form will be called
// set a second parameter as list with the first index true to set this as second argument in the eventHandler
// third argument would be the second index in the array
$( ".form" ).trigger( $.Event( "submit" ), [ true ] );
答案 1 :(得分:0)
您正在寻找triggerHandler()方法:
$('.form .submit').triggerHandler('click');
.triggerHandler(“event”)方法不会调用.event() 它被触发的元素。这意味着.triggerHandler(“提交”) 表单不会在表单上调用.submit()。
更具体针对您的情况:
使用.triggerHandler()触发的事件不会冒泡DOM 层次结构;如果它们不是直接由目标元素处理的, 他们什么都不做。