我正在开发一个相当大的项目,我想找到哪个 DOM 元素触发了 ajax 调用。
我有这样的代码:
initAjaxSend: ->
that = @
$(document).ajaxSend (e, xhr, options)->
if typeof event != 'undefined' && event
e = event
that.showPreloader(e, xhr)
比 showPreloader()
函数使用 e.target
来查找 DOM 元素。
它仅在 Chrome 中工作正常,因为 Chrome 有全局 event
变量。有什么想法可以让它在其他浏览器中工作吗?
最佳答案
您正在混合全局事件
和在您的函数被触发时创建的事件e
。您要查找的内容可以在 e
中找到,这是触发的事件,在 e.delegateTarget
下,您可以阅读有关 event.delegateTarget 的更多信息。
引用文档:“对于直接附加到元素的非委托(delegate)事件处理程序,event.delegateTarget
将始终等于 event.currentTarget
。”
initAjaxSend: ->
that = @
$(document).ajaxSend (e, xhr, options) ->
console.log e.delegateTarget
that.showPreloader(e, xhr)
关于javascript - jQuery ajaxSend - 哪个元素触发了 ajax?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29298631/