Javascript 在AJAX完成之前,不要让其他处理程序处理

Javascript 在AJAX完成之前,不要让其他处理程序处理,javascript,tampermonkey,Javascript,Tampermonkey,因此,我已经将一个tampermonkey脚本注入到Twitter中,我想在单击Tweet按钮时将操作添加到eventqueue的开头。到目前为止,我有我的行动射击,但返回错误;在向按钮添加click侦听器或向表单添加submit侦听器时,都不会阻止表单提交。submit listener事件实际上从未被触发,但按钮一被触发。所以,我的问题是,什么是确保: 我的行动首先发生 在我的ajax完成之前,不会发生其他操作 我似乎无法停止或找到Twitter提交推文的方式。不幸的是,我的操作触发了一个a

因此,我已经将一个tampermonkey脚本注入到Twitter中,我想在单击Tweet按钮时将操作添加到eventqueue的开头。到目前为止,我有我的行动射击,但返回错误;在向按钮添加click侦听器或向表单添加submit侦听器时,都不会阻止表单提交。submit listener事件实际上从未被触发,但按钮一被触发。所以,我的问题是,什么是确保:

我的行动首先发生 在我的ajax完成之前,不会发生其他操作 我似乎无法停止或找到Twitter提交推文的方式。不幸的是,我的操作触发了一个ajax调用,而该ajax调用直到提交tweet之后才调用其done回调


更新:我也尝试过e.stopImmediateProposition,但没有任何效果。

这只是一个猜测,可能没有多大帮助,但我认为提交时已经有来自Twitter的链接javascript eventListener/函数。 不知道这是否是问题的一部分,你如何处理

请参见打开浏览器控制台以查看输出:

var myApp=新函数{ this.init=函数{ var myForm=document.getElementById'myForm'; //第一事件侦听器 myForm.addEventListenersubmit,函数E{ e、 防止违约; console.log'submit'; }; //第二事件监听器 myForm.addEventListenersubmit,函数E{ e、 防止违约; console.log'submit2'; e、 停止传播; 返回false; }; } }; myApp.init;
您的答案应该在这里解释,而不是将所有答案内容都放在外部链接中。感谢您的提示,现在应该会更好。是否尝试使用SJAX?这可能不是个好主意,但可能行得通