我正在处理一个相当大的项目,我想找到哪个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
变量。任何想法如何使其在其他浏览器中工作?
答案 0 :(得分:1)
您正在混合,全局event
和触发函数时创建的事件e
。您可以在e
中找到所需内容,这是触发事件,在e.delegateTarget
下,您了解了有关event.delegateTarget
从文档引用:"对于直接附加到元素的非委派事件处理程序,event.delegateTarget
将始终等于event.currentTarget
。"
initAjaxSend: ->
that = @
$(document).ajaxSend (e, xhr, options) ->
console.log e.delegateTarget
that.showPreloader(e, xhr)