以下代码是关于在jquery中ajaxSend的问题,求解释!

$('#div').ajaxSend(...);如果一个页面只有一个这种JS不会有问题,但现在情况 是一个页面需要多个,如:$('#div').ajaxSend(...);$('#div2').ajaxSend(...);$('#div3').ajaxSend(...);...
这样在onClick某一个DIV的情况下,所有的容器都会响应ajaxSend(...)里的函数。如何只限制单击ID的容器响应相对的ajaxSend(...)?

慕田峪4524236
浏览 284回答 2
2回答

天涯尽头无女友

其实你的想法就有很大问题。首先要明确一点:ajaxSend是个全局量,而jQuery为什么会有这么一个$("#msg").ajaxSend(),是因为callback时方便直接用$(this)来对某个容器进行操作,这点在追问中你也讲到了。我建议你呢?在对你业务重新思考解决方法。因为ajaxSend就不是用来处理你要的事情的。

慕田峪9158850

根据这个方法的定义,当发送ajax请求的时候,jQuery会触发所有的ajaxSend事件。但是你可以通过传入的参数来控制当ajax请求发生时,让那个event执行。例如,根据ajax请求里的url参数来区分$('#div').ajaxSend(function(e, xhr, settings) {if (settings.url == '/ajax/test') {...}});$('#div2').ajaxSend(function(e, xhr, settings) {if (settings.url == '/ajax/test2') {...}});...
打开App,查看更多内容
随时随地看视频慕课网APP