我正在关注StackOverlow关于跟踪AJAX调用没有jQuery的方法$.ajaxStart
(以及来自$.ajax...
组的其他类似方法)的其他问题。
唯一的问题是那些jQuery方法具有像event.target.activeElement
这样的属性,它们指向触发AJAX调用的元素(例如,dropdown元素)。
我试图在不使用jQuery的情况下实现相同的效果。在这里的其他问题中多次提到拦截请求,但没有人提出如何提取触发元素的问题。例如,我正在使用这段代码:
(function() {
var origOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function() {
console.log('request started!');
this.addEventListener('load', function() {
console.log('request completed!');
});
origOpen.apply(this, arguments);
};
})();
如何确定哪个元素在代码中引起了AJAX调用?
答案 0 :(得分:0)
通常,当您想使用JS获取“activeElement”时,您应该使用“document.activeElement”。
它包含当前关注的元素。
可以通过点击或代码处理来调用Ajax调用,因此如果需要,您需要手动处理触发它的内容。
对你有帮助吗?