代码如下$("input[name='chkAArea']").live('click',function(){});查了jQuery的API, .live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。在IE下显示正常,但是在FireFox下当点击事件时,整个页面就变成白色,并且一直在请求一地址。请问是不是live不支持FireFox?
调试欢乐多
我在click事件里面用Ajax请求了Action里面的方法,会不会是这个原因
你的ajax请求发给我看看好不~
$("input[name='chkAArea']").live('click',function(){
var isChk = $(this).val();
// 根据ID查询数据 if ($('#chk-aa-' + isChk).attr('checked') == true) {
var params = '';
params += ('&areaId=' + isChk);
var call_back1 = function(text) {
var areaObj = $.parseJSON(text);
var areaInfo = areaObj.areaInfo;
VP.Page.AArea._draw(areaInfo);
};
E.Ajax('AreaWarningAction_getAreaInfoById.action', params, call_back1);
call_back1 = null;
} else {
VP.Page.AArea._hide(isChk);
}
});
返回数据是没问题的 在IE下显示都正常,但是在FF下就不可以
把ajax的请求async异步改成false看看
E.Ajax是我自己封装的 把ajax的请求async异步改成false貌似也不行
E.Ajax('AreaWarningAction_getAreaInfoById.action', params, call_back1);
call_back1 = null;这个时候E.Ajax还在做异步处理的时候call_back1=null已经执行了
你还是别封装了,既然用到jQuery就用jQuery的ajax吧