jQuery阻止默认行为方法失灵
本来是想在用户点击超链接的时候,从服务器读取用户的信息,在判断用户的等级决定要不要调转页面,但是每次页面都跳转了,感觉event.preventDefault()失灵了一样,jQuery代码如下:
01 $(function(){
02$(".rightLink").bind("click",function(event){
03$.post("myPKG/userAction!checkUserLevel.action",
04function(data){
05alert("userLevel:"+data.userLevel);
06alert("event:"+event);
07if(userLevel != 1){
08event.preventDefault();
09if(data.userLevel == 2){
10alert("您是普通用户,只能查看机床信息...");
11}else{
12alert("请先登录,再操作...");
13}
14}
15}
16);
17});
18 });
但是我把第八行的代码放到第三行就可以,一放到异步交互部分的内部就不行了,就大牛赐教啊,很急!!!
jQuery 函数 服务器
[解决办法]
你ajax是异步的
等你运行到 event.preventDefault(); 时,事件旱就走完了
可以改成同步
$.ajax({
type: "POST",
url: "myPKG/userAction!checkUserLevel.action",
async: false
success: function(d){
alert(d);
}
});