Javascript 延迟上下文菜单外观

Javascript 延迟上下文菜单外观,javascript,userscripts,Javascript,Userscripts,我正在开发一个使用链接的用户脚本。当用户单击链接(右键或左键单击)时,它应该执行一些代码。代码正在向服务器发送ajax请求,根据响应,在某些情况下可能会更改链接href attrubute,因此用户不应在链接未完成时使用该链接。我延迟了自定义事件处理程序的左键单击,它工作正常,但我找不到延迟标准下拉菜单的方法,只能完全禁用它 我真的非常感谢您的帮助。这可能是为数不多的有效的应用程序用例之一 如果直接使用XMLHttpRequest,可以通过将false作为第三个参数传递给.open()方法来发出

我正在开发一个使用链接的用户脚本。当用户单击链接(右键或左键单击)时,它应该执行一些代码。代码正在向服务器发送ajax请求,根据响应,在某些情况下可能会更改链接href attrubute,因此用户不应在链接未完成时使用该链接。我延迟了自定义事件处理程序的左键单击,它工作正常,但我找不到延迟标准下拉菜单的方法,只能完全禁用它


我真的非常感谢您的帮助。

这可能是为数不多的有效的应用程序用例之一

如果直接使用
XMLHttpRequest
,可以通过将
false
作为第三个参数传递给
.open()
方法来发出同步请求:

var request = new XMLHttpRequest();
request.open('GET', '/bar/foo.txt', false);  // `false` makes the request synchronous
request.send(null);

if (request.status === 200) {
  console.log(request.responseText);
}
(上面链接的MDN页面中的示例代码。)

如果您使用的是jQuery,那么可以通过将选项
async:false
传递给来发出同步请求。有关更多详细信息,请参阅


但是,请注意,一般来说,同步AJAX请求几乎总是一个坏主意。只要您的服务器(以及您的Internet连接)能够非常快速、可靠地处理请求,它就可以正常工作,但如果您的服务器负载过重,或者您的连接开始丢弃数据包,任何鼠标点击都需要等待几秒钟才能产生效果,这可能会很快让人恼火。

请提供您目前掌握的所有代码。谢谢!这帮了大忙:)