onMouseOver 遇到Jquery的AJAX,为啥会有这蛋疼的结果

一个html的控件,当鼠标停在上面,onMouseOver就会js方法A(),
这个方法是这么写的:
function A(){
$.ajax({
type:"POST", //post请求
url:"url", //交互的后台url
async:true, //选择异步,这也是默认值
data:{数据}, //传输的数据
success:function(result){ //成功后的回调函数
alert(result);
}
});
}

现在问题是:
当鼠标停在html控件上(一直放着不那周),那么ajax请求会一直跟后台交互,从页面上看就是说一直alert(result)(关掉一个又弹一个,debug发现会不停后台发请求)。

请问这到底是为什么?我该设置为async:false后就一切正常了,但是既然用ajax,当然想用异步效果了,请问该如何做?

你的这个代码不对。
当鼠标移到该段文字上方,弹出alert框,你的主浏览器window就失去焦点了。等你按回车关闭alert框,鼠标回到主浏览器window,自然又重新触发onmouseover了。
尝试用如下代码:
[code="java"]

$(document).ready(function(){ $("#b01").mouseover(function(){ htmlobj=$.ajax( {url:"/jquery/test1.txt", async:true, success:function(date){ $("#result").html(htmlobj.responseText + Date()); } }); }); });


















鼠标停在这不动,弹出信息按回车


[/code]
把alert变为向div内写内容,你会发现,result div内的内容不变,而你移动鼠标重新触发onmouseover,时间戳会改变。

我试验了下,鼠标移上去只会触发一次mouseover事件.是不是你触发A的代码有问题,导致不停的发请求

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">



无标题文档


testeest

$(function (){ $("h1").mouseover(function(){ alert("aa"); }); });


在IE8,firefox下测试了一下,jquery的mouseover没问题,ajax请求正常,没看到楼主说的问题,建议换个浏览器在测试一下,建议使用firefox

TIPS? 我记得mouseover 不会一直发吧, Doctype 问题? 发送之前检查下TIPS 信息是否实例化

鼠标是不是有问题?有时候鼠标在不平整表面上,系统会认为鼠标有微小移动。。

难道你遇上了事件冒泡的问题?